Semantic View Editor¶
Snowsight 中的 Semantic View Editor 提供用于创建和编辑 语义视图 的可视化界面。无论是要细化由 Autopilot 创建的视图、从头开始构建视图,还是编辑上传的 YAML 规范,编辑器可帮助您定义业务概念、指标和数据关系。
Semantic View Editor 可以执行以下操作:
定义映射到物理数据库表的逻辑表
创建维度(分类属性)、事实(行级数据)和指标(汇总度量值)
建立表之间的关系
添加已验证的查询作为 Cortex Analyst 示例
针对查询生成提供自定义指令
配置同义词和描述以提高可发现性
访问编辑器¶
您可以通过数据目录或通过 Cortex Analyst 访问 Semantic View Editor
通过数据目录¶
要通过数据目录访问现有语义视图,请执行以下操作:
登录 Snowsight。
在导航菜单中,选择 Catalog » Database Explorer
导航到数据库和架构。
在对象列表中选择 Semantic Views。
选择要编辑的语义视图。
选择 Semantic information 选项卡以打开编辑器。
通过 Cortex Analyst¶
要通过 Cortex Analyst 访问语义视图,请执行以下操作:
登录 Snowsight。
在导航菜单中,选择 AI & ML » Cortex Analyst。
选择 Semantic Views 选项卡。
要么:
选择现有视图进行编辑
选择 Create new 以创建新的语义视图。
编辑语义视图元数据¶
语义视图名称和描述可帮助用户发现和理解视图的用途。
要编辑语义视图名称或描述,请执行以下操作:
在编辑器中,选择位于页面顶部的语义视图名称旁的 Edit。
更新 Name 或 Description 字段。
选择 Save。
小技巧
撰写清晰、详细的描述,说明以下内容:
此视图可以解答哪些业务问题
其中包括哪些数据源
谁应该使用此视图
示例:“跨产品和客户的收入分析,包括同比趋势。使用此视图按区域、产品类别和客户群分析销售业绩。”
管理逻辑表¶
逻辑表表示业务实体(例如客户、订单或产品),并映射到物理数据库表或视图。每个语义视图都包含一个或多个逻辑表。
添加逻辑表¶
要将逻辑表添加到语义视图,请执行以下操作:
在编辑器中,选择 + Logical Table。
从数据库中浏览并选择物理表或视图。
选择 Next。
从表中选择要包含的列。
选择 Generate logical table。
编辑器会根据所选列自动生成维度和事实。
编辑逻辑表¶
要修改现有逻辑表,请执行以下操作:
选择表名称旁边的 Edit`(或选择 :ui:`More options » Edit Logical Table)。
修改表属性:
Name:选择使用 时默认使用的角色和仓库。此表的业务友好名称
Description:选择使用 时默认使用的角色和仓库。此表所表示内容的说明
Synonyms:备用名称(逗号分隔)
Primary Key:选择使用 时默认使用的角色和仓库。唯一标识行的列
选择 Save。
小技巧
使用 Generate fields 按钮让 AI 根据您的数据和列名称自动填写描述和同义词。这可以显着加快初始设置过程。
管理事实、维度和指标¶
在每个逻辑表中,您可以定义用户可以查询的业务概念:维度、事实和指标。
了解内容类型¶
维度:提供上下文的分类属性(例如客户名称、产品类别或订单日期)
事实:行级定量数据(例如销售额、数量或单价)
指标:SUM、AVG 或 COUNT 等函数计算的汇总度量值(例如总收入、平均订单价值)
添加维度、事实或指标¶
要将新项目添加到逻辑表中,请执行以下操作:
在编辑器中导航到逻辑表。
选择 Dimensions、Facts 或 Metrics 旁边的 +。
输入所需的详细信息:
Name:选择使用 时默认使用的角色和仓库。此项目的描述性名称
Expression:用于计算值的 SQL 表达式
Data Type:选择使用 时默认使用的角色和仓库。结果的数据类型
选择 Add
编辑或移除项目¶
要修改或删除现有维度、事实或指标,请执行以下操作:
选择项目以打开其详细信息并编辑属性。
或者选择 More options » Remove 删除项目。
选择 Save 以应用更改。
高级功能¶
派生指标:您可以创建组合多个表中指标的视图级指标。有关更多信息,请参阅 Defining derived metrics。
专用访问修饰符:将事实或指标标记为专用,即可在查询中隐藏它们,同时仍能在其他计算中使用。有关更多信息,请参阅 Marking a fact or metric as private。
指标的首选联接路径:如果有 两个逻辑表之间的多个关系路径,您可以从 Preferred join path 菜单选择要使用的关系。
管理关系¶
关系定义了逻辑表如何联接在一起,从而实现跨多个表的查询。每个关系定义一个表中的哪些列引用另一个表中的列。
添加关系¶
要在创建两个逻辑表之间的关系,请执行以下操作:
在编辑器中,选择 Relationships 旁的 +。
输入关系的描述性 :ui:`Name`(例如,“orders_to_customers”)。
选择 :ui:`Left Table`(具有外键的表)。
选择 :ui:`Right Table`(被引用的表)。
为每个表指定 Join Columns:
Left Column:选择使用 时默认使用的角色和仓库。左侧表中的外键列
Right Column:选择使用 时默认使用的角色和仓库。右侧表中的主键或唯一列
选择 Add。
该关系现在显示在关系列表中,使 Cortex Analyst 可以生成联接这些表的查询。
备注
对于语义视图,通常不需要指定联接类型(左外部、内部)或关系类型(一对一、多对一)。这些是在查询时从数据和主键定义中自动推断出来的。
编辑或移除关系¶
要修改或删除关系,请执行以下操作:
选择关系以查看其详细信息。
根据需要编辑属性,或选择 Remove 将其删除。
选择 Save 以应用更改。
Cortex Analyst 的高级功能¶
要提高 Cortex Analyst 的准确性和可靠性,您可以通过经过验证的查询、同义词和自定义指令添加上下文和指导。
经过验证的查询¶
经过验证的查询提供示例问题及其正确的 SQL 答案。它们有两个用途:
帮助 Cortex Analyst 了解如何回答类似问题
为用户提供入门建议问题
添加经过验证的查询:
选择 Verified Queries 旁边的 +。
输入自然语言 :ui:`Question`(例如,“收入排名前 10 的产品是哪些?”)。
输入正确回答该问题的对应 SQL Query。
(可选)检查 Use as onboarding question 是否将其显示为向用户提供的建议。
选择 Add。
小技巧
为以下内容添加经过验证的查询:
用户可能会问的常见业务问题
需要特定逻辑的复杂查询
边缘情况或异常计算
展示视图功能的问题
同义词¶
备注
手动添加同义词,而不是使用 AI 自动生成同义词。专注于特定领域的备用名称,例如内部术语、缩写或旧名称。自动生成的同义词通常会降低语义视图的质量。
同义词可帮助用户使用替代术语发现和查询数据。例如,用户可能将“客户”称为“委托人”或“账户”。
向表或字段添加同义词:
导航到要添加同义词的表、维度、事实或指标。
选择 Edit 以打开项目属性。
在 Synonyms 字段中输入替代术语,并用逗号分隔。
选择 Save。
同义词示例:
对于“customer_name”维度:“client name、account name、buyer name”
对于“revenue”指标:“sales、income、earnings”
对于“orders”表:“sales orders、purchases”
自定义指令¶
自定义指令针对 SQL 生成和问题分类提供 Cortex Analyst 的具体指导。使用自定义指令执行以下操作:
定义业务规则和约束
指定默认行为
处理有歧义的问题
拒绝某些类型的问题
通过以下方式添加自定义指令:
在编辑器中,选择 Custom Instructions 部分。
使用自然语言输入指令。示例:
“除非另有说明,否则始终按活跃客户筛选(状态 =‘ACTIVE’)”
“将所有货币值四舍五入到小数点后 2 位”
“当询问收入时,除非明确要求提供总收入,否则使用 net_revenue 指标”
“如果问题在未指定区域的情况下询问用户,则要求用户明确是哪个区域”
选择 Save。
有关语义视图自定义指令的更多信息,请参阅 Providing custom instructions for Cortex Analyst。
上传 YAML 文件¶
如果您有现有的语义视图 YAML 规范或旧的语义模型 YAML 文件,可以上传该文件以创建新的语义视图或更新现有语义视图。
要上传 YAML 文件,请执行以下操作:
在导航菜单中,选择 AI & ML » Cortex Analyst。
选择 Create new » Upload YAML file。
浏览并选择您的 YAML 文件。
在编辑器中查看生成的语义视图结构。
选择 Convert and save,按架构级对象创建语义视图。
编辑器将 YAML 规范转换为原生 Snowflake 语义视图,然后您可以使用可视化界面进行编辑。
有关 YAML 规范格式的信息,请参阅 语义视图的 YAML 规范。
有关以编程方式将规范转换为语义视图的信息,请参阅 根据 YAML 规范创建语义视图。