snowflake-semanticview
github/awesome-copilot
Создавайте, изменяйте и проверяйте семантические представления Snowflake с помощью CLI Snowflake (snow). Используйте этот инструмент, когда требуется создать или устранить проблемы с определениями семантических представлений/семантического слоя с использованием команд CREATE/ALTER SEMANTIC VIEW, проверить DDL семантических представлений в Snowflake через CLI или помочь с установкой Snowflake CLI и настройкой подключения.
...Расширить всеО Snowflake-semanticview
Этот инструмент помогает ассистенту создавать, изменять и проверять семантические представления Snowflake с использованием официального CLI Snowflake (snow). Он решает проблему формирования надёжных определений семантического уровня путём соблюдения строгой процедуры, в которой на первом месте стоит проверка: вместо создания непроверенных запросов DDL ассистент составляет команды CREATE/ALTER SEMANTIC VIEW, проверяет их в Snowflake с помощью CLI под временным именем, корректирует до успешного прохождения проверки и только затем применяет окончательное определение. Также предоставляются инструкции по однократной настройке установки CLI Snowflake и подключения с помощью команды snow connection add, с ссылками на официальную документацию Snowflake.
Процесс работы очень тщательный. Ассистент требует подтверждения имени целевой базы данных, схемы, роли, хранилища и самого представления, проверки модели звёздной схемы, а также составления запросов DDL в соответствии с официальной синтаксисом. Для каждой размерности, факта и метрики необходимо указать синонимы и комментарии; в качестве источника предпочтение отдаётся существующим комментариям к столбцам Snowflake, причём перед добавлением новых комментариев запрашивается разрешение. Для выявления взаимосвязей и типов столбцов используются только читаемые запросы SELECT с операторами DISTINCT и ограничением количества строк до 1000. Запросы DDL проверяются под временным именем (например, с суффиксом __tmp_validate), чтобы не повредить реальное представление; затем выполняется примерный запрос SEMANTIC_VIEW для подтверждения работы, а после этого удаляются временные объекты.
Целевой аудиторией являются инженеры по данным и аналитические инженеры, создающие семантические слои или определения метрик в Snowflake. Обработка учётных данных осуществляется через официальную настройку подключения CLI Snowflake, а не непосредственно инструментом; акцент на временных именах для проверки, ограничении количества строк и предварительном запросе разрешения отражает тщательный подход к работе с данными с минимальными рисками.
Часто задаваемые вопросы
Какие предварительные условия необходимы?
Необходимо установить CLI Snowflake (snow) и настроить подключение с помощью команды snow connection add. Инструмент содержит ссылки на официальную документацию Snowflake по установке и настройке подключения, которые считаются однократными действиями.
Как обрабатываются учётные данные?
Аутентификация осуществляется через официальную настройку подключения CLI Snowflake. Инструмент использует настроенное подключение для проверки и выполнения операций, но сам не хранит и не управляет учётными данными.
Как избегается перезапись существующего представления?
Запросы DDL проверяются под временным именем, например с добавлением суффикса __tmp_validate в той же базе данных и схеме; окончательный запрос применяется только после успешной проверки, после чего удаляется временный объект.
Анализирует ли инструмент мои реальные данные?
Да. Для выявления взаимосвязей между фактами и размерностями, а также типов столбцов используются читаемые запросы SELECT с операторами DISTINCT и ограничением количества строк до 1000, что позволяет формировать содержательные комментарии и синонимы.
Создаёт ли инструмент синонимы или комментарии самостоятельно?
Нет. В качестве источника предпочтение отдаётся существующим комментариям к столбцам Snowflake; перед добавлением новых комментариев или синонимов запрашивается разрешение, а также указывается, следует ли предложить варианты для утверждения.
One-Time Setup
- Verify Snowflake CLI installation by opening a new terminal and running
snow --help. - If Snowflake CLI is missing or the user cannot install it, direct them to https://docs.snowflake.com/en/developer-guide/snowflake-cli/installation/installation.
- Configure a Snowflake connection with
snow connection addper https://docs.snowflake.com/en/developer-guide/snowflake-cli/connecting/configure-connections#add-a-connection. - Use the configured connection for all validation and execution steps.
Workflow For Each Semantic View Request
- Confirm the target database, schema, role, warehouse, and final semantic view name.
- Confirm the model follows a star schema (facts with conformed dimensions).
- Draft the semantic view DDL using the official syntax:
- https://docs.snowflake.com/en/sql-reference/sql/create-semantic-view
- Populate synonyms and comments for each dimension, fact, and metric:
- Read Snowflake table/view/column comments first (preferred source):
- https://docs.snowflake.com/en/sql-reference/sql/comment
- If comments or synonyms are missing, ask whether you can create them, whether the user wants to provide text, or whether you should draft suggestions for approval.
- Read Snowflake table/view/column comments first (preferred source):
- Use SELECT statements with DISTINCT and LIMIT (maximum 1000 rows) to discover relationships between fact and dimension tables, identify column data types, and create more meaningful comments and synonyms for columns.
- Create a temporary validation name (for example, append
__tmp_validate) while keeping the same database and schema. - Always validate by sending the DDL to Snowflake via Snowflake CLI before finalizing:
- Use
snow sqlto execute the statement with the configured connection. - If flags differ by version, check
snow sql --helpand use the connection option shown there.
- Use
- If validation fails, iterate on the DDL and re-run the validation step until it succeeds.
- Apply the final DDL (create or alter) using the real semantic view name.
- Run a sample query against the final semantic view to confirm it works as expected. It has a different SQL syntax as can be seen here: https://docs.snowflake.com/en/user-guide/views-semantic/querying#querying-a-semantic-viewExample:
SELECT * FROM SEMANTIC_VIEW( my_semview_name DIMENSIONS customer.customer_market_segment METRICS orders.order_average_value)ORDER BY customer_market_segment;
- Clean up any temporary semantic view created during validation.
Synonyms And Comments (Required)
- Use the semantic view syntax for synonyms and comments:
WITH SYNONYMS [ = ] ( 'synonym' [ , ... ] )COMMENT = 'comment_about_dim_fact_or_metric'- Treat synonyms as informational only; do not use them to reference dimensions, facts, or metrics elsewhere.
- Use Snowflake comments as the preferred and first source for synonyms and comments:
- https://docs.snowflake.com/en/sql-reference/sql/comment
- If Snowflake comments are missing, ask whether you can create them, whether the user wants to provide text, or whether you should draft suggestions for approval.
- Do not invent synonyms or comments without user approval.
Validation Pattern (Required)
- Never skip validation. Always execute the DDL against Snowflake with Snowflake CLI before presenting it as final.
- Prefer a temporary name for validation to avoid clobbering the real view.
Example CLI Validation (Template)
# Replace placeholders with real values.snow sql -q "<CREATE OR ALTER SEMANTIC VIEW ...>" --connection <connection_name>
If the CLI uses a different connection flag in your version, run:
snow sql --help
Notes
- Treat installation and connection setup as one-time steps, but confirm they are done before the first validation.
- Keep the final semantic view definition identical to the validated temporary definition except for the name.
- Do not omit synonyms or comments; consider them required for completeness even if optional in syntax.
Все файлы
0 файловУстановить snowflake-semanticview
Скачайте файлы с навыками и извлеките их в папку .claude/skills/.
Скачать ZIPКлонируйте репозиторий и скопируйте файлы навыка в свой проект.
git clone https://github.com/github/awesome-copilot/blob/main/skills/snowflake-semanticview/SKILL.md # Copy SKILL.md to your .claude/skills/ directory
Копировать





Дом
