语义视图概述¶
您可以将语义业务概念以 语义视图 的形式直接存储在数据库中,这是一种新的架构级对象。您可以定义业务指标、模型业务实体及其之间的关系。通过为物理数据添加业务意义,语义视图有助于提升数据驱动决策的质量,为企业应用程序提供一致的业务定义。
您可以在 Cortex Analyst 中使用语义视图,并在 SELECT 语句中 查询这些视图。(查询语义视图为 预览功能。)
备注
共享语义视图 目前是一项私有预览版功能。

要 创建和管理语义视图,您可以使用 SQL 命令(例如 CREATE SEMANTIC VIEW)和 Cortex Analyst 语义视图生成器,后者是 Snowsight 中的一个向导,可指导您完成语义视图的创建过程。
备注
语义视图被视为 元数据。
为什么使用语义视图?¶
语义视图解决了业务用户描述数据的方式与数据库架构中数据存储方式之间不匹配的问题。例如,对于像 总收入 这样的关键业务概念,数据可能会存储在数据库中名为 amt_ttl_pre_dsc
的表列中,这使得业务用户很难找到并解释其含义。
此外,如果公司内部的 净收入 始终表示折扣后的总收入,则语义视图可以将其一致地定义为一个具有正确聚合的指标:SUM(gross_revenue * (1 - discount))
。这确保了一个具有正确聚合行为的权威定义。例如,当用户要求查询“按地区划分的净收入”时,语义视图能在适当的级别上进行汇总,而如果没有语义视图,不同的报表和应用程序中可能会存在数十种不一致的计算,常常使用不正确的聚合方法从而导致错误的结果。
这个以业务为中心的抽象层解决了几个常见问题:
对于 AI 应用程序: 语义视图通过结合 LLM 推理和基于规则的定义,提升查询结果的准确性。目前,Cortex Analyst 会读取语义视图定义中获取的信息,并直接根据物理表生成 SQL 查询。
对于商业智能 (BI): 业务用户受益于所有工具中一致的指标和维度。他们可以轻松地将这些预定义的业务概念组合到熟悉的 BI 界面中,以探索数据并获得见解。
对于技术分析师: 业务逻辑的集中位置减少了在查询中重复定义指标的情况,并简化了复杂的架构关系,使构建和维护数据模型更加容易。
了解语义视图¶
备注
在本主题中,与数据库相关的对象(例如数据库表)被称为 物理对象,与语义视图相关的对象被称为 逻辑对象。
在语义视图中,您可以定义逻辑表,这些表通常对应业务实体,例如客户、订单或供应商。您可以通过共享密钥联接来定义逻辑表之间的关系,从而使您能够跨实体分析数据(就像联接数据库表时一样)。
通过逻辑表,您可以定义:
事实: 事实是数据模型中的行级属性,代表特定的业务事件或事务。虽然可以使用来自更详细级别的数据(例如
SUM(t.x)
,其中t
表示更详细的数据)的聚合来定义事实,但它们始终以属性形式显示在逻辑表的各个行级别。事实用于获取最精细的“金额”或“数量”,例如个人销售额、购买数量或成本。值得注意的是,事实通常在语义视图中充当“助手”概念,以帮助构造维度和指标。指标: 指标是用于衡量业务绩效的可量化指标,通过汇总同一表中的事实或其他列(如使用 SUM、AVG 和 COUNT 等函数)跨多行计算得出。它们将原始数据转换为有意义的业务指标,常以复杂公式组合多个计算。示例包括 总收入 或 利润率百分比。指标表示报告和仪表板中用于推动业务决策的 KPIs。
维度: 维度表示分类属性。它们提供上下文框架,通过将数据分组为有意义的类别来赋予指标意义。他们回答“谁”、“什么”、“在哪里”和“何时”的问题,例如购买日期、客户详情、产品类别或地理位置等。维度通常基于文本或分层结构,使用户能够从多个角度筛选、分组和分析数据。
在语义视图中,这三个元素各自发挥着不同的作用,但是指标和维度是您在通过语义视图分析数据时与之交互的主要元素。事实提供基本的行级数值数据,指标通过聚合和计算将数据转化为具有行动意义的见解,而维度决定视角。
有关更多信息,请参阅 语义模型规范中的关键概念部分。
使用语义视图的接口¶
您可以使用以下接口来创建、管理和使用语义视图:
** SQL 命令**:您可以使用 SQL 命令直接创建和管理语义视图。有关信息,请参阅 使用 SQL 命令创建和管理语义视图。
Cortex Analyst 语义视图生成器:您可以使用 Snowsight 中的向导来指导您完成创建语义视图的过程。Cortex Analyst 能够使用 YAML 与语义视图进行交互。该向导还包含一个 YAML 编辑器。 有关信息,请参阅 使用 Cortex Analyst 语义视图生成器。有关使用 YAML 来管理语义的详细信息,请参阅 Cortex Analyst 语义模型规范。
目前,如果您计划在 Cortex Analyst 中使用语义视图,则应使用 Cortex Analyst 语义视图生成器来创建视图。
Cortex Analyst REST API:要将语义视图与 Cortex Analyst 一起使用,请在 REST API 请求中指定该视图。有关信息,请参阅 Cortex Analyst REST API。
Snowsight:您可以使用 数据库对象资源管理器 来 查看有关语义视图的详细信息。
限制¶
不支持 复制 语义视图。
开始使用¶
要开始使用语义视图,请执行以下操作:
设计您的业务数据模型。
您的数据中存在哪些业务实体(例如客户、产品、订单等)?
这些实体如何相互关联?
哪些指标对您的业务很重要?
您使用什么维度来分析这些指标?
将业务概念映射到物理数据。
哪些表包含您需要的数据?我们建议从简单的星型架构开始。
您将如何联接这些表?
需要进行哪些计算才能得出您的指标?
创建语义视图。
您可以使用 其中一个接口 来创建语义视图。
以下列方式使用语义视图:
将 Cortex Analyst 用于语义视图的自然语言查询。
您可以使用 Cortex Analyst REST API 执行使用语义视图的自然语言查询。
如果您需要监控使用语义视图的 REST API 请求,请参阅 Cortex Analyst 管理员监控。
有关语义视图的其他信息¶
有关语义视图的其他信息,请参阅以下主题:
有关使用语义视图所需权限的信息,请参阅以下章节:
有关语义视图的 SQL 命令和视图的参考信息,请参阅以下主题:
有关 SQL 命令的文档:
有关 ACCOUNT_USAGE 视图的文档:
有关 INFORMATION_SCHEMA 视图的文档: