创建指标视图

本页介绍示例中使用的数据模型和注意事项,演示如何使用 SQL 或 UI 创建指标视图。

示例数据集概述

在《使用 SQL 创建和管理指标视图》以及《使用目录资源管理器 UI 创建指标视图》中的示例使用 Unity 目录数据集中默认提供的 TPC-H 数据集。

TPC-H 数据集是用于评估决策支持系统和查询性能的标准基准数据集。 它建模批发供应链业务,并围绕常见业务运营(如订单、客户、供应商和零部件)构建。 它表示销售和分销环境,客户在该环境中为不同国家和地区的各种供应商提供的部件下订单。

架构有 8 个表:

  • REGIONNATION:这些表定义位置。

  • CUSTOMERSUPPLIER:这些表描述业务实体。

  • PARTPARTSUPP:这些表捕获产品信息和供应商可用性。

  • ORDERSLINEITEM:这些表表示事务,其中行项详细说明订单中的产品。

TPC-H 数据集 ERD

下图说明了表之间的关系。

TPC-H 实体关系图显示表之间的关系。

图例:

  • 每个表名称后面的括号包含该表的列名称的前缀;
  • 箭头指向表之间的一对多关系的方向;
  • 每个表名称下面的数字/公式表示表的基数(行数)。 有些按 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语句将状态转换为OpenProcessingFulfilled 允许按生命周期阶段进行分段,有助于实现和积压工作管理。
维度:订单优先级 SPLIT 将顺序优先级设置为数字的语句 用于按订单的战略重要性或紧迫性对性能进行分组。
度量值:订单计数 COUNT(1) 度量批量销售活动
度量值:总收入 SUM(o_totalprice) 所有订单的总销售额值
度量值:每个客户的总收入 SUM(o_totalprice) / COUNT(DISTINCT o_custkey) 用于评估客户交易质量的客户价值指标。
度量值:开放式订单的总收入 SUM(o_totalprice) FILTER (WHERE o_orderstatus='O') 未兑现收入或当前积压的销售订单的价值。 用于预测和风险评估。

询问 Databricks 助手

Databricks 助手可以帮助你开始定义指标视图。

  1. 单击 “Sparkle 填充”图标 打开 Databricks 工作区右上角的助手图标,以启动助手。
  2. 键入要创建的指标视图的说明。 助手返回尝试匹配您请求的 SQL DDL。
  3. 复制提供的 SQL 并将其粘贴到 SQL 编辑器中。 然后单击“ 运行”。
  4. 编辑 SQL 或打开指标视图编辑器以进行调整。

创建新的指标视图

使用以下示例之一创建新的指标视图: