SKILL.md
readonlyread-only
name
snowflake-semanticview
description
使用 Snowflake CLI (snow) 建立、修改及驗證 Snowflake 語意檢視。當需要透過 CREATE/ALTER SEMANTIC VIEW 建置或除錯語意檢視/語意層定義、透過 CLI 驗證語意檢視 DDL 是否正確,或引導 Snowflake CLI 安裝與連線設定時使用。
Snowflake 語意檢視
一次性設定
- 開啟新的終端機並執行
snow --help,確認 Snowflake CLI 已安裝。 - 若 Snowflake CLI 遺失或使用者無法安裝,請引導至 https://docs.snowflake.com/en/developer-guide/snowflake-cli/installation/installation。
- 使用
snow connection add設定 Snowflake 連線,詳見 https://docs.snowflake.com/en/developer-guide/snowflake-cli/connecting/configure-connections#add-a-connection。 - 所有驗證與執行步驟皆使用已設定的連線。
每個語意檢視請求的工作流程
- 確認目標資料庫、綱要、角色、倉儲及最終語意檢視名稱。
- 確認模型遵循星狀綱要(事實表搭配符合維度)。
- 使用官方語法草擬語意檢視 DDL:
- 為每個維度、事實及度量填入同義詞與註解:
- 優先讀取 Snowflake 資料表/檢視/欄位註解(首選來源):
- 若缺少註解或同義詞,詢問使用者是否允許建立、是否願意提供文字,或是否由你草擬建議供核准。
- 使用 SELECT 陳述式搭配 DISTINCT 與 LIMIT(最多 1000 筆)探索事實表與維度表之間的關聯、識別欄位資料型別,並為欄位建立更具意義的註解與同義詞。
- 建立暫用驗證名稱(例如,在相同資料庫與綱要下附加
__tmp_validate)。 - 在最終確定前,務必透過 Snowflake CLI 將 DDL 傳送至 Snowflake 進行驗證:
- 使用
snow sql搭配已設定的連線執行陳述式。 - 若不同版本的旗標有所差異,請執行
snow sql --help並使用顯示的連線選項。
- 使用
- 若驗證失敗,反覆修改 DDL 並重新執行驗證步驟,直到成功為止。
- 使用真實的語意檢視名稱套用最終 DDL(CREATE 或 ALTER)。
- 對最終語意檢視執行範例查詢,確認其運作正常。其 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;
- 清除驗證期間建立的任何暫用語意檢視。
同義詞與註解(必要)
- 使用語意檢視語法設定同義詞與註解:
WITH SYNONYMS [ = ] ( 'synonym' [ , ... ] )
COMMENT = 'comment_about_dim_fact_or_metric'
- 同義詞僅供參考,請勿用於參照其他維度、事實或度量。
- 優先使用 Snowflake 註解作為同義詞與註解的來源:
- 若缺少 Snowflake 註解,詢問使用者是否允許建立、是否願意提供文字,或是否由你草擬建議供核准。
- 未經使用者核准,請勿自行編造同義詞或註解。
驗證模式(必要)
- 絕不跳過驗證。在呈現最終結果前,務必透過 Snowflake CLI 對 Snowflake 執行 DDL。
- 建議使用暫用名稱進行驗證,避免覆蓋真實檢視。
CLI 驗證範例(範本)
# 將預留位置替換為實際值。
snow sql -q "<CREATE OR ALTER SEMANTIC VIEW ...>" --connection <connection_name>
若您的 CLI 版本使用不同的連線旗標,請執行:
snow sql --help
備註
- 將安裝與連線設定視為一次性步驟,但請在首次驗證前確認已完成。
- 最終語意檢視定義應與驗證通過的暫用定義完全相同,僅名稱不同。
- 請勿省略同義詞或註解;即使語法上為選用,仍視為完整性必要項目。






