🚀 快速安装

复制以下命令并运行,立即安装此 Skill:

npx @anthropic-ai/skills install github/awesome-copilot/snowflake-semanticview

💡 提示:需要 Node.js 和 NPM

Snowflake 语义视图

一次性设置

每个语义视图请求的工作流程

  1. 确认目标数据库、模式、角色、仓库和最终的语义视图名称。
  2. 确认模型遵循星型模式(事实表与一致性维度关联)。
  3. 使用官方语法草拟语义视图 DDL:
  4. 为每个维度、事实和度量填充同义词和注释:
  5. 使用带 DISTINCT 和 LIMIT(最多 1000 行)的 SELECT 语句来发现事实表和维度表之间的关系,识别列数据类型,并为列创建更有意义的注释和同义词。
  6. 创建一个临时的验证名称(例如,追加 __tmp_validate),同时保持相同的数据库和模式。
  7. 在最终确定之前,始终通过 Snowflake CLI 将 DDL 发送到 Snowflake 进行验证:
    • 使用 snow sql 通过已配置的连接执行语句。
    • 如果不同版本的标志不同,请检查 snow sql --help,并使用那里显示的连接选项。
  8. 如果验证失败,迭代修改 DDL 并重新运行验证步骤,直到成功。
  9. 使用真实的语义视图名称应用最终的 DDL(创建或修改)。
  10. 对最终的语义视图运行示例查询,以确认其按预期工作。它具有不同的 SQL 语法,如下所示:https://docs.snowflake.com/en/user-guide/views-semantic/querying#querying-a-semantic-view
    示例:
SELECT * FROM SEMANTIC_VIEW(
    my_semview_name
    DIMENSIONS customer.customer_market_segment
    METRICS orders.order_average_value
)
ORDER BY customer_market_segment;
  1. 清理在验证期间创建的任何临时语义视图。

同义词和注释(必需)

  • 使用语义视图语法定义同义词和注释:
WITH SYNONYMS [ = ] ( '同义词' [ , ... ] )
COMMENT = '关于维度、事实或度量的注释'
  • 将同义词仅视为信息性内容;请勿在其他地方使用它们来引用维度、事实或度量。
  • 使用 Snowflake 注释作为同义词和注释的首选和首要来源:
  • 如果缺少 Snowflake 注释,询问是否可以创建它们,用户是否希望提供文本,或者是否应该草拟建议以供批准。
  • 未经用户批准,请勿自行创建同义词或注释。

验证模式(必需)

  • 切勿跳过验证。在将 DDL 作为最终版本呈现之前,始终使用 Snowflake CLI 在 Snowflake 上执行它。
  • 优先使用临时名称进行验证,以避免覆盖真实的视图。

CLI 验证示例(模板)

# 将占位符替换为实际值。
snow sql -q "<CREATE OR ALTER SEMANTIC VIEW ...>" --connection <连接名称>

如果您使用的 CLI 版本使用了不同的连接标志,请运行:

snow sql --help

备注

  • 将安装和连接设置视为一次性步骤,但在首次验证之前确认它们已完成。
  • 保持最终的语义视图定义与经过验证的临时定义相同,除了名称之外。
  • 不要省略同义词或注释;即使语法上是可选的,也要认为它们是完整性的必需部分。

📄 原始文档

完整文档(英文):

https://skills.sh/github/awesome-copilot/snowflake-semanticview

💡 提示:点击上方链接查看 skills.sh 原始英文文档,方便对照翻译。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。