重要
此功能目前以公共预览版提供。
了解如何创建指标视图来集中业务逻辑,并一致地跨报表图面定义关键绩效指标。 请参阅 Unity 目录指标视图。 本教程演示如何使用目录资源管理器 UI 创建指标视图。 若要使用 SQL 定义指标视图,请参阅 CREATE VIEW。
先决条件
- 你必须对源数据对象具有
SELECT
特权。 - 必须在要在其中创建指标视图的架构中拥有
CREATE TABLE
特权 和USE SCHEMA
特权。 - 您还必须在架构的父目录上拥有
USE CATALOG
特权。 - 具备在运行 Databricks Runtime 16.4 或更高版本的 SQL 仓库或其他计算资源上使用权限的能力。
元存储管理员或目录所有者可以授予所有这些权限。 具有 MANAGE
权限的架构所有者或用户可以在架构上授予您 USE SCHEMA
和 CREATE TABLE
权限。
步骤 1:选择数据源
指标视图可以基于表、视图或 SQL 查询。 本教程使用samples
目录中tpch
架构的orders
表。
单击
工作区边栏中的目录。
使用架构浏览器中的搜索栏查找
samples.tpch.orders
表。 单击 订单 可显示表详细信息。单击创建>指标视图。 YAML 编辑器随即打开。
步骤 2:定义指标
此指标视图的 YAML 定义包含以下顶级字段:
-
version
: 默认值为0.1
. 这是指标视图规范的版本。 -
源:
samples.tpch.orders
是一个完全合格的表名称。 此指标视图中的所有维度和度量值都使用指定的表作为数据源。 -
filter
: 此视图上的所有查询都会返回 1990 年 1 月 1 日之后的o_orderdate
记录。 -
dimensions
:Order Month
、Order Status
和Order Priority
定义为维度。 -
measures
:定义了四个度量值(Order Count
、Total Revenue
和Total Revenue per Customer
Total Revenue for Open Orders
),每个度量值都指定了聚合表达式。
将编辑器的内容替换为以下定义:
version: 0.1 source: samples.tpch.orders filter: o_orderdate > '1990-01-01' dimensions: - name: Order Month expr: DATE_TRUNC('MONTH', o_orderdate) - name: Order Status expr: CASE WHEN o_orderstatus = 'O' then 'Open' WHEN o_orderstatus = 'P' then 'Processing' WHEN o_orderstatus = 'F' then 'Fulfilled' END - name: Order Priority expr: SPLIT(o_orderpriority, '-')[1] measures: - name: Order Count expr: COUNT(1) - name: Total Revenue expr: SUM(o_totalprice) - name: Total Revenue per Customer expr: SUM(o_totalprice) / COUNT(DISTINCT o_custkey) - name: Total Revenue for Open Orders expr: SUM(o_totalprice) FILTER (WHERE o_orderstatus='O')
(可选)重命名指标视图。 指标视图的名称会自动填充在定义上方的文本字段中。 可以保留或编辑默认名称。 度量视图的名称可以包括字母数字值和下划线。
(可选)使用架构下拉菜单选择要在其中保存指标视图的架构。 默认情况下,所选架构与表所在的架构相同。
单击 “创建” 。
只要用户对视图拥有SELECT
以上特权,即可使用该指标视图。 有关管理权限的详细信息,请参阅 Unity 目录特权和安全对象 。 若要详细了解用户如何查询此视图,请参阅 “查询指标”视图。
创建指标视图后,可以在打开的 “概述 ”中查看源、筛选和指定的度量值和维度。
步骤 3:添加说明、注释和标记
在“概述”选项卡中:
- 单击 “添加说明 ”,向视图的元数据添加说明。
- 若要添加批注,请将鼠标悬停在要在其中添加批注的行的 “批注 ”列上。
- 若要将标记添加到度量值或维度,请将鼠标悬停在要在其中添加标记的 Tags 列上。
- 若要向视图添加标记,请单击页面右侧的 “添加标记 ”。
步骤 4:(可选) 编辑 YAML 定义
可以查看 YAML 定义,并从“ 详细信息 ”选项卡打开 YAML 编辑器。
单击“详细信息”。
点击...更多行以查看完整定义。
单击 “编辑” 以打开 YAML 编辑器。
添加或删除维度或度量值。 单击“ 保存”。
步骤 5:(可选) 设置权限
指标视图遵循与其他 Unity 目录安全对象相同的分层权限模型。 如果指标视图存储在预期使用者具有读取访问权限的架构中,则不需要任何新权限。 可以从“ 权限 ”选项卡显式分配对指标视图的权限。
单击“权限”。
使用 UI 授予和撤销其他 Azure Databricks 用户的权限。
有关详细信息,请参阅 授予对 Unity 目录元存储中对象的权限。
查询指标视图
可以从工作区的内置 SQL 编辑器或任何可访问 Azure Databricks 上的数据的 SQL 编辑器 查询指标视图。 若要查询指标视图,必须连接到 SQL 仓库或其他运行 Databricks Runtime 16.4 或更高版本的计算资源。
下面的示例查询将评估所列出的三个度量值,并对 Order Month
和 Order Status
进行聚合。 它返回按 Order Month
. 排序的结果。
所有措施都必须包装在 MEASURE
函数中。 请参阅 measure
聚合函数。
SELECT
`Order Month`,
`Order Status`,
MEASURE(`Order Count`),
MEASURE(`Total Revenue`),
MEASURE(`Total Revenue per Customer`)
FROM
orders_metric_view
GROUP BY ALL
ORDER BY 1 ASC