mcpField
S
semantic-model-builder

semantic-model-builder

github.com/nimrodfisher数据与数据库504222 次安装5 周前更新
代码仓库

关于 semantic-model-builder

semantic-model-builder 是用于将指标、维度和实体整理为结构化 YAML 的数据技能。它帮助数据团队统一业务定义、验证元数据,并为语义层使用准备定义。

主要功能

  1. 01生成指标、维度和实体 YAML 框架
  2. 02验证字段、类型和引用
  3. 03参考 dbt Semantic Layer 指南
  4. 04输出定义文件和验证报告

适用场景

  1. 01为指标建立统一定义
  2. 02为 dbt Semantic Layer 准备 YAML
  3. 03记录核心数据模型的元数据
  4. 04检查现有语义模型 YAML

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/nimrodfisher/data-analytics-skills --skill semantic-model-builder

安装后在 Claude Code 中输入/semantic-model-builder确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

assets/
dimension_definition.yaml
entity_definition.yaml
metric_definition.yaml
references/
dbt_semantic_layer_guide.md
dimension_hierarchy_patterns.md
metric_definition_framework.md
scripts/
metric_template_generator.py
model_yaml_validator.py

详细介绍

适用场景

  • 利益相关方询问“[metric] 是如何计算的?”,但没有权威定义
  • 正在设置 dbt Semantic Layer,需要 YAML 格式的指标/维度/实体定义
  • 多个团队使用不同的 SQL 查询计算同一指标,需要将唯一权威定义规范化
  • 正在为核心模型创建数据目录条目,需要结构化元数据

流程

  1. 确定对象类型 — 判断要记录的是指标、维度还是实体。指标请使用 references/metric_definition_framework.md 中的框架,维度请使用 references/dimension_hierarchy_patterns.md 中的框架。
  2. 收集定义所需的信息 — 收集:计算逻辑(SQL 或公式)、业务背景、数据源、粒度、边界情况和已知注意事项。若有不清楚之处,请咨询数据负责人。
  3. 生成 YAML 模板 — 运行 scripts/metric_template_generator.py,为对象类型搭建初始 YAML 结构。填写生成的模板。
  4. 验证 YAML — 运行 scripts/model_yaml_validator.py,检查必填字段、类型约束和引用完整性(被引用的维度需存在于同一文件中)。
  5. 补充 dbt 背景信息 — 如果要部署到 dbt Semantic Layer,请查阅 references/dbt_semantic_layer_guide.md,了解与你的 dbt 版本对应的确切字段名和约束。
  6. 保存最终定义 — 将指标保存到 assets/metric_definition.yaml,将维度保存到 assets/dimension_definition.yaml,将实体保存到 assets/entity_definition.yaml。

此技能所需的输入

  • 必需:要记录的指标名称或模型名称
  • 必需:计算逻辑 — SQL 代码片段、公式或自然语言步骤
  • 必需:业务背景 — 谁会使用它、它能为哪些决策提供参考、“良好”的值是什么
  • 可选:数据源表和列名称
  • 可选:目标语义层框架(dbt Semantic Layer、Cube.js、LookML 等)
  • 可选:要验证的现有 YAML

输出

  • assets/metric_definition.yaml — 填写完成的指标 YAML 定义
  • assets/dimension_definition.yaml — 填写完成的维度 YAML 定义
  • assets/entity_definition.yaml — 填写完成的实体 YAML 定义
  • scripts/model_yaml_validator.py 生成的验证报告(内联输出)

评论

支持 Markdown