可以通过任何连接到 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查询指标视图。 |