创建指标视图

重要

此功能目前以公共预览版提供。

了解如何创建指标视图来集中业务逻辑,并一致地跨报表图面定义关键绩效指标。 请参阅 Unity 目录指标视图。 本教程演示如何使用目录资源管理器 UI 创建指标视图。 若要使用 SQL 定义指标视图,请参阅 CREATE VIEW

先决条件

  • 你必须对源数据对象具有 SELECT 特权。
  • 必须在要在其中创建指标视图的架构中拥有 CREATE TABLE 特权USE SCHEMA 特权。
  • 您还必须在架构的父目录上拥有 USE CATALOG 特权。
  • 具备在运行 Databricks Runtime 16.4 或更高版本的 SQL 仓库或其他计算资源上使用权限的能力。

元存储管理员或目录所有者可以授予所有这些权限。 具有 MANAGE 权限的架构所有者或用户可以在架构上授予您 USE SCHEMACREATE TABLE 权限。

步骤 1:选择数据源

指标视图可以基于表、视图或 SQL 查询。 本教程使用samples目录中tpch架构的orders表。

  1. 单击“数据”图标。工作区边栏中的目录

  2. 使用架构浏览器中的搜索栏查找 samples.tpch.orders 表。 单击 订单 可显示表详细信息。

  3. 单击创建>指标视图。 YAML 编辑器随即打开。

步骤 2:定义指标

此指标视图的 YAML 定义包含以下顶级字段:

  • version 默认值为 0.1. 这是指标视图规范的版本。
  • 源:samples.tpch.orders 是一个完全合格的表名称。 此指标视图中的所有维度和度量值都使用指定的表作为数据源。
  • filter 此视图上的所有查询都会返回 1990 年 1 月 1 日之后的 o_orderdate 记录。
  • dimensionsOrder MonthOrder StatusOrder Priority 定义为维度。
  • measures定义了四个度量值(Order CountTotal RevenueTotal Revenue per CustomerTotal Revenue for Open Orders),每个度量值都指定了聚合表达式。
  1. 将编辑器的内容替换为以下定义:

    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')
    
  2. (可选)重命名指标视图。 指标视图的名称会自动填充在定义上方的文本字段中。 可以保留或编辑默认名称。 度量视图的名称可以包括字母数字值和下划线。

  3. (可选)使用架构下拉菜单选择要在其中保存指标视图的架构。 默认情况下,所选架构与表所在的架构相同。

  4. 单击 “创建”

只要用户对视图拥有SELECT以上特权,即可使用该指标视图。 有关管理权限的详细信息,请参阅 Unity 目录特权和安全对象 。 若要详细了解用户如何查询此视图,请参阅 “查询指标”视图。 创建指标视图后,可以在打开的 “概述 ”中查看源、筛选和指定的度量值和维度。

步骤 3:添加说明、注释和标记

在“概述”选项卡中:

  • 单击 “添加说明 ”,向视图的元数据添加说明。
  • 若要添加批注,请将鼠标悬停在要在其中添加批注的行的 “批注 ”列上。
  • 若要将标记添加到度量值或维度,请将鼠标悬停在要在其中添加标记的 Tags 列上。
  • 若要向视图添加标记,请单击页面右侧的 “添加标记 ”。

步骤 4:(可选) 编辑 YAML 定义

可以查看 YAML 定义,并从“ 详细信息 ”选项卡打开 YAML 编辑器。

  1. 单击“详细信息”。

  2. 点击...更多行以查看完整定义。

  3. 单击 “编辑” 以打开 YAML 编辑器。

  4. 添加或删除维度或度量值。 单击“ 保存”。

步骤 5:(可选) 设置权限

指标视图遵循与其他 Unity 目录安全对象相同的分层权限模型。 如果指标视图存储在预期使用者具有读取访问权限的架构中,则不需要任何新权限。 可以从“ 权限 ”选项卡显式分配对指标视图的权限。

  1. 单击“权限”

  2. 使用 UI 授予和撤销其他 Azure Databricks 用户的权限。

有关详细信息,请参阅 授予对 Unity 目录元存储中对象的权限

查询指标视图

可以从工作区的内置 SQL 编辑器或任何可访问 Azure Databricks 上的数据的 SQL 编辑器 查询指标视图。 若要查询指标视图,必须连接到 SQL 仓库或其他运行 Databricks Runtime 16.4 或更高版本的计算资源。

下面的示例查询将评估所列出的三个度量值,并对 Order MonthOrder 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

后续步骤