SHOW SEMANTIC DIMENSIONS FOR METRIC¶
列出在 语义视图 中查询特定指标时可以返回的维度。
当您在寓意视图查询中同时指定维度和指标时,维度的基表必须与指标的基表相关联。此外,维度的基表粒度必须等于或低于指标的基表。
要确定哪些维度符合此标准,可以运行此命令。
有关详细信息,请参阅 为给定指标选择可以返回的维度。
- 另请参阅:
CREATE SEMANTIC VIEW、DESCRIBE SEMANTIC VIEW、DROP SEMANTIC VIEW、SHOW SEMANTIC VIEWS、SHOW SEMANTIC DIMENSIONS、SHOW SEMANTIC METRICS
语法¶
SHOW SEMANTIC DIMENSIONS [ LIKE '<pattern>' ]
IN <semantic_view_name>
FOR METRIC <metric_name>
[ STARTS WITH '<name_string>' ]
[ LIMIT <rows> ]
参数¶
LIKE 'pattern'
(可选)按对象名称筛选命令输出。筛选器使用 不区分大小写 的模式匹配,并支持 SQL 通配符(
%
和_
)。例如,以下模式返回 相同的 结果:
... LIKE '%testing%' ...
... LIKE '%TESTING%' ...
. 默认:无值(不对输出应用筛选)。
IN semantic_view_name
指定包含维度和指标的语义视图名称。
FOR METRIC metric_name
指定要显示其关联维度的指标名称。
STARTS WITH 'name_string'
(可选)根据对象名称开头显示的字符筛选命令输出。该字符串必须放在单引号内并且 区分大小写。
例如,以下字符串会返回 不同的 结果:
... STARTS WITH 'B' ...
... STARTS WITH 'b' ...
. 默认:无值(不对输出应用筛选)
LIMIT rows
(可选)限制返回的最大行数。返回的实际行数可能小于指定的限制。例如,现有对象的数量小于指定的限制。
默认:无值(不对输出应用限制)。
输出¶
命令的输出包括以下列,它们描述了对象的属性和元数据:
列 |
描述 |
---|---|
|
维度的基表名称。 |
|
维度的名称。 |
|
维度的数据类型。 |
|
指示该维度是否为指标所必需。 |
|
维度的别名或同义词。 |
|
关于该维度的备注。 |
访问控制要求¶
用于执行此 SQL 命令的 角色 必须至少具有以下 一项 权限:
权限 |
对象 |
备注 |
---|---|---|
任意 |
语义视图 |
要对架构中的任何对象执行操作,需要对父数据库和架构具有 USAGE 权限。
有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色。
使用说明¶
该命令不需要正在运行的仓库即可执行。
该命令仅返回当前用户的当前角色已获授至少一项访问权限的对象。
MANAGE GRANTS 访问权限隐式允许其持有者查看账户中的每个对象。默认情况下,只有账户管理员(具有 ACCOUNTADMIN 角色的用户)和安全管理员(具有 SECURITYADMIN 角色的用户)才具有 MANAGE GRANTS 权限。
要对该命令的输出进行后处理,可以使用 管道运算符 或 RESULT_SCAN 函数。这两种构造都将输出视为可以查询的结果集。
该命令 最多 返回指定对象类型的 1 万条记录,由用于执行命令的角色的访问权限决定。即使应用了筛选器,也不会返回任何超出 1 万条限制后的记录。
要查看存在超过 1 万条记录的结果,请在 Snowflake Information Schema 中查询相应的视图(如果存在)。
LIMIT rows
的值不能超过10000
。如果省略LIMIT rows
,若结果集大于 1 万行,则该命令将导致错误。要查看存在超过 1 万条记录的结果,请在 Snowflake Information Schema 中包含
LIMIT rows
或查询相应的视图。
示例¶
以下示例列出了在 tpch_rev_analysis
语义视图中针对 order_average_value
指标的查询中可以指定的维度:
SHOW SEMANTIC DIMENSIONS IN tpch_rev_analysis FOR METRIC order_average_value;
+------------+---------------+-------------+----------+-------------------+--------------------------------+
| table_name | name | data_type | required | synonyms | comment |
|------------+---------------+-------------+----------+-------------------+--------------------------------|
| CUSTOMERS | CUSTOMER_NAME | VARCHAR(25) | false | ["customer name"] | Name of the customer |
| ORDERS | ORDER_DATE | DATE | false | NULL | Date when the order was placed |
| ORDERS | ORDER_YEAR | NUMBER(4,0) | false | NULL | Year when the order was placed |
+------------+---------------+-------------+----------+-------------------+--------------------------------+
以下示例列出了在查询窗口函数指标时所需的维度。
此示例使用您在 定义窗口函数指标 中定义的语义视图。该示例返回可在查询中为 avg_7_days_sales_quantity
指标指定的维度。
SHOW SEMANTIC DIMENSIONS IN sv_window_function_example FOR METRIC avg_7_days_sales_quantity;
+------------+-----------+--------------+----------+----------+---------+
| table_name | name | data_type | required | synonyms | comment |
|------------+-----------+--------------+----------+----------+---------|
| DATE | DATE | DATE | true | NULL | NULL |
| DATE | D_DATE_SK | NUMBER(38,0) | false | NULL | NULL |
| DATE | YEAR | NUMBER(38,0) | true | NULL | NULL |
+------------+-----------+--------------+----------+----------+---------+
请注意,required
列在 date
和 year
维度中包含 true
。这是因为 avg_7_days_sales_quantity
指标的定义在 PARTITION BY EXCLUDING 中指定了 date
和 year
维度。
CREATE OR REPLACE SEMANTIC VIEW sv_window_function_example
...
METRICS (
...
store_sales.avg_7_days_sales_quantity as AVG(total_sales_quantity)
OVER (PARTITION BY EXCLUDING date.date, date.year ORDER BY date.date
RANGE BETWEEN INTERVAL '6 days' PRECEDING AND CURRENT ROW)
WITH SYNONYMS = ('Running 7-day average of total sales quantity'),
因此,在对 avg_7_days_sales_quantity
指标的任何查询中,date
和 year
维度都是必需的。您必须在查询中指定这些维度:
SELECT * FROM SEMANTIC_VIEW (
sv_window_function_example
DIMENSIONS date.date, date.year
METRICS store_sales.avg_7_days_sales_quantity
);