SHOW SEMANTIC DIMENSIONS FOR METRIC
列出查询指定指标时可合法使用的维度。维度的逻辑表必须与指标的粒度相同或更粗,以确保分组聚合的正确性。
语法
SHOW SEMANTIC DIMENSIONS IN <semantic_view_name> FOR METRIC <metric_name>;
SHOW SEMANTIC DIMENSIONS FROM <semantic_view_name> FOR METRIC <metric_name>;
其中
IN
IN
和
FROM
FROM
可互换使用。
参数说明
| 参数 | 描述 |
|---|
<semantic_view_name>
<semantic_view_name> | 必填。 语义视图名称,维度与指标均属于该视图。 |
<metric_name>
<metric_name> | 必填。 指标名称。返回与该指标粒度兼容的维度。使用全限定名(如 lineitem.sum_qty
lineitem.sum_qty )。 |
输出列
| 列名 | 类型 | 描述 |
|---|
workspace_name
workspace_name | TEXT | 工作空间名称 |
schema_name
schema_name | TEXT | Schema 名称 |
semantic_view_name
semantic_view_name | TEXT | 语义视图名称 |
table_name
table_name | TEXT | 维度所属的逻辑表名(大写的表别名) |
name
name | TEXT | 维度名称 |
data_type
data_type | TEXT | 维度的数据类型 |
synonyms
synonyms | TEXT | 维度的同义词列表 |
comment
comment | TEXT | 维度的注释 |
access
access | TEXT | 访问级别:PUBLIC
PUBLIC 或 PRIVATE
PRIVATE |
结果按
table_name, name
table_name, name
字典序排列。
使用说明
- 无需运行中的虚拟集群 — 该命令不需要虚拟集群即可执行。
- 权限控制 — 仅返回当前用户有权限访问的语义视图中的维度。
- 粒度过滤 — 与
SHOW SEMANTIC DIMENSIONS
SHOW SEMANTIC DIMENSIONS
不同,此命令会过滤掉比指定指标粒度更细的维度。例如,定义在 lineitem
lineitem
表上的指标,只能使用 lineitem
lineitem
粒度的维度或更粗粒度的维度(如 orders
orders
、customer
customer
等父表维度),但不能使用比 lineitem
lineitem
更细的维度(不存在)。
FOR METRIC
FOR METRIC
子句仅适用于 DIMENSIONS,不适用于 METRICS 或 FACTS。
权限要求
| 权限 | 对象 | 说明 |
|---|
| 任意权限 | 语义视图 | 至少需要对语义视图拥有一个权限 |
示例
查询指标可用的维度
SHOW SEMANTIC DIMENSIONS IN tpch_sv FOR METRIC lineitem.sum_qty;
返回与
lineitem.sum_qty
lineitem.sum_qty
粒度兼容的维度。由于
sum_qty
sum_qty
定义在
lineitem
lineitem
表上,返回
lineitem
lineitem
表自身及所有父表(
orders
orders
、
customer
customer
、
nation
nation
、
region
region
、
part
part
、
supplier
supplier
)的维度。
输出示例(节选):
tianqi_ws semantic_view tpch_sv CUSTOMER C_MKTSEGMENT char(10) "" NULL PUBLIC
tianqi_ws semantic_view tpch_sv LINEITEM L_RETURNFLAG char(25) "" NULL PUBLIC
tianqi_ws semantic_view tpch_sv NATION N_NAME char(25) "" NULL PUBLIC
tianqi_ws semantic_view tpch_sv ORDERS O_ORDERDATE date "" NULL PUBLIC
tianqi_ws semantic_view tpch_sv PART P_BRAND char(10) "" NULL PUBLIC
tianqi_ws semantic_view tpch_sv REGION R_NAME char(25) "" NULL PUBLIC
tianqi_ws semantic_view tpch_sv SUPPLIER S_NAME char(25) "" NULL PUBLIC
与 SHOW SEMANTIC DIMENSIONS 对比
-- 返回所有维度
SHOW SEMANTIC DIMENSIONS IN tpch_sv;
-- 仅返回与 sum_qty 粒度兼容的维度(过滤掉比 lineitem 更细的维度)
SHOW SEMANTIC DIMENSIONS IN tpch_sv FOR METRIC lineitem.sum_qty;
相关命令