本页介绍示例中使用的数据模型和注意事项,演示如何使用 SQL 或 UI 创建指标视图。
示例数据集概述
在《使用 SQL 创建和管理指标视图》以及《使用目录资源管理器 UI 创建指标视图》中的示例使用 Unity 目录数据集中默认提供的 TPC-H 数据集。
TPC-H 数据集是用于评估决策支持系统和查询性能的标准基准数据集。 它建模批发供应链业务,并围绕常见业务运营(如订单、客户、供应商和零部件)构建。 它表示销售和分销环境,客户在该环境中为不同国家和地区的各种供应商提供的部件下订单。
架构有 8 个表:
REGION和NATION:这些表定义位置。CUSTOMER和SUPPLIER:这些表描述业务实体。PART和PARTSUPP:这些表捕获产品信息和供应商可用性。ORDERS和LINEITEM:这些表表示事务,其中行项详细说明订单中的产品。
TPC-H 数据集 ERD
下图说明了表之间的关系。
图例:
- 每个表名称后面的括号包含该表的列名称的前缀;
- 箭头指向表之间的一对多关系的方向;
- 每个表名称下面的数字/公式表示表的基数(行数)。 有些按 SF(比例因子)进行分解,以获取所选的数据库大小。 LINEITEM 表的基数是近似的(请参阅条款 4.2.5)。
(来源: TPC 基准 H 标准规范)
定义指标视图
可以使用 SQL DDL 或目录资源管理器 UI 定义指标视图。 或者,Databricks 助手可以帮助你开始创建指标视图。 然后,可以编辑提供的 SQL DDL 或使用 UI 中的指标视图编辑器来优化建议的定义。
本部分中为示例定义的指标视图专为销售或财务分析师设计,用于监视与公司订单相关的关键绩效指标(KPI)。 它可以帮助回答以下问题:
- 随着时间的推移,我们的总收入是如何趋势的?
- 我们的订单按状态(未处理、处理中、已完成)的当前划分是什么?
- 哪个订单优先级产生最多的收入?
- 当前“有风险”或未完成的收入(即来自未完成订单)有多少?
- 每个唯一客户的平均收入是多少?
下表介绍了必要的组件:
| 组件 | YAML 字段/表达式 | 业务含义 |
|---|---|---|
| 源表 | samples.tpch.orders |
包含客户订单记录的原始数据。 |
| 过滤器 | o_orderdate > '1990-01-01' |
仅重点分析 1990 年 1 月 1 日之后 下订单,可能不包括历史数据或存档数据。 |
| 维度:订单月份 | (DATE_TRUNC('MONTH', o_orderdate)) |
启用趋势分析(逐月/逐年),跟踪性能随时间变化的方式。 |
| 维度:订单状态 |
CASE语句将状态转换为Open、Processing或Fulfilled |
允许按生命周期阶段进行分段,有助于实现和积压工作管理。 |
| 维度:订单优先级 |
SPLIT 将顺序优先级设置为数字的语句 |
用于按订单的战略重要性或紧迫性对性能进行分组。 |
| 度量值:订单计数 | COUNT(1) |
度量批量销售活动 |
| 度量值:总收入 | SUM(o_totalprice) |
所有订单的总销售额值 |
| 度量值:每个客户的总收入 | SUM(o_totalprice) / COUNT(DISTINCT o_custkey) |
用于评估客户交易质量的客户价值指标。 |
| 度量值:开放式订单的总收入 | SUM(o_totalprice) FILTER (WHERE o_orderstatus='O') |
未兑现收入或当前积压的销售订单的价值。 用于预测和风险评估。 |
询问 Databricks 助手
Databricks 助手可以帮助你开始定义指标视图。
- 单击
打开 Databricks 工作区右上角的助手图标,以启动助手。
- 键入要创建的指标视图的说明。 助手返回尝试匹配您请求的 SQL DDL。
- 复制提供的 SQL 并将其粘贴到 SQL 编辑器中。 然后单击“ 运行”。
- 编辑 SQL 或打开指标视图编辑器以进行调整。
创建新的指标视图
使用以下示例之一创建新的指标视图: