SHOW SEMANTIC DIMENSIONS FOR METRIC

列出在 语义视图 中查询特定指标时可以返回的维度。

当您在寓意视图查询中同时指定维度和指标时,维度的基表必须与指标的基表相关联。此外,维度的基表粒度必须等于或低于指标的基表。

要确定哪些维度符合此标准,可以运行此命令。

有关详细信息,请参阅 为给定指标选择可以返回的维度

另请参阅:

CREATE SEMANTIC VIEWDESCRIBE SEMANTIC VIEWDROP SEMANTIC VIEWSHOW SEMANTIC VIEWSSHOW SEMANTIC DIMENSIONSSHOW SEMANTIC METRICS

语法

SHOW SEMANTIC DIMENSIONS [ LIKE '<pattern>' ]
                         IN <semantic_view_name>
                         FOR METRIC <metric_name>
                         [ STARTS WITH '<name_string>' ]
                         [ LIMIT <rows> ]
Copy

参数

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

(可选)限制返回的最大行数。返回的实际行数可能小于指定的限制。例如,现有对象的数量小于指定的限制。

默认:无值(不对输出应用限制)。

输出

命令的输出包括以下列,它们描述了对象的属性和元数据:

描述

table_name

维度的基表名称。

name

维度的名称。

data_type

维度的数据类型。

required

指示该维度是否为指标所必需。

synonyms

维度的别名或同义词。

comment

关于该维度的备注。

访问控制要求

用于执行此 SQL 命令的 角色 必须至少具有以下 一项 权限

权限

对象

备注

任意

语义视图

要对架构中的任何对象执行操作,需要对父数据库和架构具有 USAGE 权限。

有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色

有关对 安全对象 执行 SQL 操作的相应角色和权限授予的一般信息,请参阅 访问控制概述

使用说明

  • 该命令不需要正在运行的仓库即可执行。

  • 该命令仅返回当前用户的当前角色已获授至少一项访问权限的对象。

  • 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;
Copy
+------------+---------------+-------------+----------+-------------------+--------------------------------+
| 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;
Copy
+------------+-----------+--------------+----------+----------+---------+
| 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 列在 dateyear 维度中包含 true。这是因为 avg_7_days_sales_quantity 指标的定义在 PARTITION BY EXCLUDING 中指定了 dateyear 维度。

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'),
Copy

因此,在对 avg_7_days_sales_quantity 指标的任何查询中,dateyear 维度都是必需的。您必须在查询中指定这些维度:

SELECT * FROM SEMANTIC_VIEW (
  sv_window_function_example
  DIMENSIONS date.date, date.year
  METRICS store_sales.avg_7_days_sales_quantity
);
Copy
语言: 中文