通过

查询指标视图

可以通过任何连接到 SQL 仓库的 SQL 编辑器或运行受支持运行时的计算资源,像查询标准视图一样查询指标视图。 指标视图支持灵活的分组和筛选,因此可以在运行时分析维度的任意组合中的度量值,而无需预先计算每个聚合。 此页上的查询演示了常见的查询模式。

查询度量值和维度

指标视图查询中的所有度量值都必须使用 MEASURE 聚合函数。 有关完整详细信息和语法,请参阅 measure 聚合函数

注释

若要从指标视图中选择所有维度和度量值,请显式列出每个维度,并使用聚合函数包装每个度量 MEASURE() 值。 由于度量值要求 MEASURE() 函数正确计算,因此必须指定单独的列,而不是使用 SELECT *

使用分组进行查询

SELECT
  `Order Month`,
  `Order Status`,
  MEASURE(`Order Count`),
  MEASURE(`Total Revenue`)
FROM orders_metric_view
GROUP BY ALL
ORDER BY `Order Month`;

使用筛选进行查询

SELECT
  o_orderpriority,
  MEASURE(`Total Revenue`),
  MEASURE(`Total Revenue per Customer`)
FROM orders_metric_view
WHERE `Order Status` = 'Fulfilled'
GROUP BY o_orderpriority;

与其他表一起查询

指标视图不能在查询时与其他表直接联接。 若要将指标视图与其他表联接,请将指标视图查询包装在 CTE 中,然后联接 CTE 结果:

WITH orders AS (
  SELECT
    o_custkey,
    MEASURE(`Order Count`) AS order_count,
    MEASURE(`Total Revenue`) AS total_revenue
  FROM orders_metric_view
  GROUP BY o_custkey
)
SELECT
  c.c_mktsegment,
  orders.order_count,
  orders.total_revenue
FROM orders
JOIN samples.tpch.customer c ON orders.o_custkey = c.c_custkey
ORDER BY c.c_mktsegment;

查看指标视图定义和元数据

以下查询返回指标视图的完整 YAML 定义,包括度量值、维度、联接和 代理元数据AS JSON 参数是可选的。 有关完整的语法详细信息,请参阅 JSON 格式的输出

DESCRIBE TABLE EXTENDED <catalog.schema.metric_view_name> AS JSON

完整的 YAML 定义显示在结果的 “查看文本 ”字段中。 每列都包含一个保存代理元数据的 元数据 字段。

在工具中利用指标视图

还可以在Azure Databricks工作区和外部工具中使用指标视图:

工具 说明
AI/BI 数据仪表板 使用指标视图提供准确的可解释分析。 函数 MEASURE() 会自动应用,代理元数据(如同义词、显示名称和格式)显示在 UI 中。
警报 在超过阈值时监视指标视图度量值和触发通知。
查询分析 使用查询配置文件对指标视图查询进行故障排除和优化。
JDBC 和 ODBC 通过 JDBC 和 ODBC 连接访问指标视图。 元数据 API 向外部 BI 和分析工具公开指标视图结构。
Power BI 使用 BI 兼容模式直接从Power BI查询指标视图。
Excel外接程序 使用 Databricks Excel 外接程序从Microsoft Excel查询指标视图。

后续步骤