DESCRIBE SEMANTIC VIEW

Beschreibt die Eigenschaften der logischen Tabellen, Dimensionen, Fakten und Metriken, aus denen sich eine semantische Ansicht zusammensetzt.

Siehe auch::

CREATE SEMANTIC VIEW, DROP SEMANTIC VIEW, SHOW SEMANTIC VIEWS

Syntax

{ DESCRIBE | DESC } SEMANTIC VIEW <name>
Copy

Parameter

name

Gibt den Bezeichner für die zu beschreibende semantische Ansicht an.

Wenn der Bezeichner Leerzeichen oder Sonderzeichen enthält, muss die gesamte Zeichenfolge in doppelte Anführungszeichen gesetzt werden. Bei Bezeichnern, die in doppelte Anführungszeichen eingeschlossen sind, ist auch die Groß- und Kleinschreibung zu beachten.

Weitere Informationen dazu finden Sie unter Anforderungen an Bezeichner.

Ausgabe

Die Befehlsausgabe liefert die Eigenschaften und Metadaten über die logischen Tabellen, Beziehungen, Fakten, Dimensionen, Metriken und die semantische Ansicht selbst.

Jede Zeile in der Ansicht stellt eine Eigenschaft der folgenden Elemente dar:

  • Eine logische Tabelle

  • Eine Beziehung

  • Ein Fakt

  • Eine Dimension

  • Eine Metrik

  • Die semantische Ansicht selbst

Im Folgenden sehen Sie ein Beispiel für die Ausgabe des Befehls:

+--------------+------------------------------+---------------+--------------------------+----------------------------------------+
| object_kind  | object_name                  | parent_entity | property                 | property_value                         |
|--------------+------------------------------+---------------+--------------------------+----------------------------------------|
| NULL         | NULL                         | NULL          | COMMENT                  | Comment about the semantic view        |
| TABLE        | CUSTOMERS                    | NULL          | BASE_TABLE_DATABASE_NAME | SNOWFLAKE_SAMPLE_DATA                  |
| ...          | ...                          | ...           | ...                      | ...                                    |
| DIMENSION    | CUSTOMER_NAME                | CUSTOMERS     | TABLE                    | CUSTOMERS                              |
| ...          | ...                          | ...           | ...                      | ...                                    |
| RELATIONSHIP | LINE_ITEM_TO_ORDERS          | LINE_ITEMS    | TABLE                    | LINE_ITEMS                             |
| ...          | ...                          | ...           | ...                      | ...                                    |
| FACT         | DISCOUNTED_PRICE             | LINE_ITEMS    | TABLE                    | LINE_ITEMS                             |
| ...          | ...                          | ...           | ...                      | ...                                    |
| METRIC       | AVERAGE_LINE_ITEMS_PER_ORDER | ORDERS        | TABLE                    | ORDERS                                 |
| ...          | ...                          | ...           | ...                      | ...                                    |
+--------------+------------------------------+---------------+--------------------------+----------------------------------------+

Wie oben dargestellt, steht jede Zeile für eine Eigenschaft einer logischen Tabelle, Dimension, Beziehung, Metrik oder eines Fakts. Beispiel:

  • Die erste Zeile ist der Wert der Eigenschaft comment der semantischen Ansicht selbst.

  • Die zweite Zeile ist der Wert der Eigenschaft base_table_database_name der logischen Tabelle namens customers.

Die Ansicht enthält die folgenden Spalten:

Spalte

Beschreibung

object_kind

Typ des Objekts, das die Eigenschaft für diese Zeile besitzt. Der Wert kann einer der folgenden sein:

  • TABLE (die logischen Tabellen für die Ansicht)

  • RELATIONSHIP

  • DIMENSION

  • FACT

  • METRIC

  • NULL (Eigenschaften, die sich auf die semantische Ansicht selbst beziehen, wie z. B. ein Kommentar)

object_name

Name der Dimension, des Fakts, der Metrik, der logischen Tabelle oder der Beziehung, die die Eigenschaft für diese Zeile hat.

Für Zeilen, die Eigenschaften der semantischen Ansicht selbst darstellen, lautet der Wert in dieser Spalte NULL.

parent_entity

Name der übergeordneten Entität der Dimension, des Fakts, der Metrik oder der Beziehung.

Für Zeilen, die Eigenschaften von logischen Tabellen oder der semantischen Ansicht selbst darstellen, lautet der Wert in dieser Spalte NULL.

property

Name der Eigenschaft der logischen Tabelle, der Beziehung, der Dimension, des Fakts, der Metrik oder der semantischen Ansicht.

Der Wert in dieser Spalte hängt von der Art des Objekts ab (object_kind).

In den folgenden Abschnitten finden Sie Einzelheiten zu den Eigenschaften und ihren möglichen Werten, basierend auf dem Wert in der Spalte object_kind:

property_value

Wert der Eigenschaft der logischen Tabelle, der Beziehung, der Dimension, des Fakts, der Metrik oder der semantischen Ansicht.

Eigenschaften für logische Tabellen

Wenn die Spalte object_kind TABLE enthält, kann die Spalte property die folgenden Werte enthalten:

Name der Eigenschaft

Beschreibung

BASE_TABLE_DATABASE_NAME

Name der Datenbank, die die logische Tabelle enthält.

BASE_TABLE_SCHEMA_NAME

Name des Schemas, das die logische Tabelle enthält.

BASE_TABLE_NAME

Name der logischen Tabelle.

SYNONYMS

Array von VARCHAR-Werten, die die Synonyme für die logische Tabelle darstellen.

PRIMARY_KEY

Array von VARCHAR-Werten, die die Namen der Spalten angeben, aus denen der Primärschlüssel für die logische Tabelle besteht.

Eigenschaften für Beziehungen

Wenn die Spalte object_kind RELATIONSHIP enthält, kann die Spalte property die folgenden Werte enthalten:

Name der Eigenschaft

Beschreibung

TABLE

Name einer der logischen Tabellen in der Beziehung.

FOREIGN_KEY

Name der Spalte in dieser logischen Tabelle, die in der Beziehung verwendet wird.

REF_TABLE

Name der anderen logischen Tabelle in der Beziehung.

REF_KEY

Name der Spalte in der anderen logischen Tabelle in der Beziehung.

Eigenschaften für Fakten, Dimensionen und Metriken

Wenn die Spalte object_kind FACT, DIMENSION oder METRIC enthält, kann die Spalte property die folgenden Werte enthalten:

Name der Eigenschaft

Beschreibung

TABLE

Name der logischen Tabelle, die zur Definition der Dimension, des Fakts oder der Metrik verwendet wird.

EXPRESSION

Der SQL-Ausdruck für die Dimension, den Fakt oder die Metrik.

DATA_TYPE

Der SQL-Datentyp des ausgewerteten SQL-Ausdrucks.

Eigenschaften für semantische Ansichten

Wenn die Spalte object_kind NULL lautet, kann die Spalte property die folgenden Werte enthalten:

Name der Eigenschaft

Beschreibung

COMMENT

Kommentar zur semantischen Ansicht.

Anforderungen an die Zugriffssteuerung

Eine Rolle, die zur Ausführung dieses SQL-Befehls verwendet wird, muss mindestens eine der folgenden Berechtigungen haben:

Berechtigung

Objekt

Anmerkungen

Beliebig

Semantische Ansicht

USAGE-Berechtigung für die übergeordnete Datenbank und das Schema ist erforderlich, um Operationen an einem beliebigen Objekt in einem Schema durchzuführen.

Eine Anleitung zum Erstellen einer kundenspezifischen Rolle mit einer bestimmten Gruppe von Berechtigungen finden Sie unter Erstellen von kundenspezifischen Rollen.

Allgemeine Informationen zu Rollen und Berechtigungen zur Durchführung von SQL-Aktionen auf sicherungsfähigen Objekten finden Sie unter Übersicht zur Zugriffssteuerung.

Nutzungshinweise

  • Zur Weiterverarbeitung der Ausgabe dieses Befehls können Sie die Funktion RESULT_SCAN verwenden, die die Ausgabe wie eine abfragbare Tabelle behandelt. Sie können auch den Pipe-Operator verwenden, um die Ausgabe dieses Befehls abzufragen.

Beispiele

Das folgende Beispiel beschreibt die semantische Ansicht namens tpch_rev_analysis:

DESC SEMANTIC VIEW tpch_rev_analysis;
Copy
+--------------+------------------------------+---------------+--------------------------+----------------------------------------+
| object_kind  | object_name                  | parent_entity | property                 | property_value                         |
|--------------+------------------------------+---------------+--------------------------+----------------------------------------|
| NULL         | NULL                         | NULL          | COMMENT                  | Comment about the semantic view        |
| TABLE        | CUSTOMERS                    | NULL          | BASE_TABLE_DATABASE_NAME | SNOWFLAKE_SAMPLE_DATA                  |
| TABLE        | CUSTOMERS                    | NULL          | BASE_TABLE_SCHEMA_NAME   | TPCH_SF1                               |
| TABLE        | CUSTOMERS                    | NULL          | BASE_TABLE_NAME          | CUSTOMER                               |
| TABLE        | CUSTOMERS                    | NULL          | PRIMARY_KEY              | ["C_CUSTKEY"]                          |
| TABLE        | CUSTOMERS                    | NULL          | COMMENT                  | Main table for customer data           |
| DIMENSION    | CUSTOMER_NAME                | CUSTOMERS     | TABLE                    | CUSTOMERS                              |
| DIMENSION    | CUSTOMER_NAME                | CUSTOMERS     | EXPRESSION               | customers.c_name                       |
| DIMENSION    | CUSTOMER_NAME                | CUSTOMERS     | DATA_TYPE                | VARCHAR(25)                            |
| DIMENSION    | CUSTOMER_NAME                | CUSTOMERS     | SYNONYMS                 | ["customer name"]                      |
| DIMENSION    | CUSTOMER_NAME                | CUSTOMERS     | COMMENT                  | Name of the customer                   |
| TABLE        | LINE_ITEMS                   | NULL          | BASE_TABLE_DATABASE_NAME | SNOWFLAKE_SAMPLE_DATA                  |
| TABLE        | LINE_ITEMS                   | NULL          | BASE_TABLE_SCHEMA_NAME   | TPCH_SF1                               |
| TABLE        | LINE_ITEMS                   | NULL          | BASE_TABLE_NAME          | LINEITEM                               |
| TABLE        | LINE_ITEMS                   | NULL          | PRIMARY_KEY              | ["L_ORDERKEY","L_LINENUMBER"]          |
| TABLE        | LINE_ITEMS                   | NULL          | COMMENT                  | Line items in orders                   |
| RELATIONSHIP | LINE_ITEM_TO_ORDERS          | LINE_ITEMS    | TABLE                    | LINE_ITEMS                             |
| RELATIONSHIP | LINE_ITEM_TO_ORDERS          | LINE_ITEMS    | REF_TABLE                | ORDERS                                 |
| RELATIONSHIP | LINE_ITEM_TO_ORDERS          | LINE_ITEMS    | FOREIGN_KEY              | ["L_ORDERKEY"]                         |
| RELATIONSHIP | LINE_ITEM_TO_ORDERS          | LINE_ITEMS    | REF_KEY                  | ["O_ORDERKEY"]                         |
| FACT         | DISCOUNTED_PRICE             | LINE_ITEMS    | TABLE                    | LINE_ITEMS                             |
| FACT         | DISCOUNTED_PRICE             | LINE_ITEMS    | EXPRESSION               | l_extendedprice * (1 - l_discount)     |
| FACT         | DISCOUNTED_PRICE             | LINE_ITEMS    | DATA_TYPE                | NUMBER(25,4)                           |
| FACT         | DISCOUNTED_PRICE             | LINE_ITEMS    | COMMENT                  | Extended price after discount          |
| FACT         | LINE_ITEM_ID                 | LINE_ITEMS    | TABLE                    | LINE_ITEMS                             |
| FACT         | LINE_ITEM_ID                 | LINE_ITEMS    | EXPRESSION               | CONCAT(l_orderkey, '-', l_linenumber)  |
| FACT         | LINE_ITEM_ID                 | LINE_ITEMS    | DATA_TYPE                | VARCHAR(134217728)                     |
| TABLE        | ORDERS                       | NULL          | BASE_TABLE_DATABASE_NAME | SNOWFLAKE_SAMPLE_DATA                  |
| TABLE        | ORDERS                       | NULL          | BASE_TABLE_SCHEMA_NAME   | TPCH_SF1                               |
| TABLE        | ORDERS                       | NULL          | BASE_TABLE_NAME          | ORDERS                                 |
| TABLE        | ORDERS                       | NULL          | SYNONYMS                 | ["sales orders"]                       |
| TABLE        | ORDERS                       | NULL          | PRIMARY_KEY              | ["O_ORDERKEY"]                         |
| TABLE        | ORDERS                       | NULL          | COMMENT                  | All orders table for the sales domain  |
| RELATIONSHIP | ORDERS_TO_CUSTOMERS          | ORDERS        | TABLE                    | ORDERS                                 |
| RELATIONSHIP | ORDERS_TO_CUSTOMERS          | ORDERS        | REF_TABLE                | CUSTOMERS                              |
| RELATIONSHIP | ORDERS_TO_CUSTOMERS          | ORDERS        | FOREIGN_KEY              | ["O_CUSTKEY"]                          |
| RELATIONSHIP | ORDERS_TO_CUSTOMERS          | ORDERS        | REF_KEY                  | ["C_CUSTKEY"]                          |
| METRIC       | AVERAGE_LINE_ITEMS_PER_ORDER | ORDERS        | TABLE                    | ORDERS                                 |
| METRIC       | AVERAGE_LINE_ITEMS_PER_ORDER | ORDERS        | EXPRESSION               | AVG(orders.count_line_items)           |
| METRIC       | AVERAGE_LINE_ITEMS_PER_ORDER | ORDERS        | DATA_TYPE                | NUMBER(36,6)                           |
| METRIC       | AVERAGE_LINE_ITEMS_PER_ORDER | ORDERS        | COMMENT                  | Average number of line items per order |
| FACT         | COUNT_LINE_ITEMS             | ORDERS        | TABLE                    | ORDERS                                 |
| FACT         | COUNT_LINE_ITEMS             | ORDERS        | EXPRESSION               | COUNT(line_items.line_item_id)         |
| FACT         | COUNT_LINE_ITEMS             | ORDERS        | DATA_TYPE                | NUMBER(18,0)                           |
| METRIC       | ORDER_AVERAGE_VALUE          | ORDERS        | TABLE                    | ORDERS                                 |
| METRIC       | ORDER_AVERAGE_VALUE          | ORDERS        | EXPRESSION               | AVG(orders.o_totalprice)               |
| METRIC       | ORDER_AVERAGE_VALUE          | ORDERS        | DATA_TYPE                | NUMBER(30,8)                           |
| METRIC       | ORDER_AVERAGE_VALUE          | ORDERS        | COMMENT                  | Average order value across all orders  |
| DIMENSION    | ORDER_DATE                   | ORDERS        | TABLE                    | ORDERS                                 |
| DIMENSION    | ORDER_DATE                   | ORDERS        | EXPRESSION               | o_orderdate                            |
| DIMENSION    | ORDER_DATE                   | ORDERS        | DATA_TYPE                | DATE                                   |
| DIMENSION    | ORDER_DATE                   | ORDERS        | COMMENT                  | Date when the order was placed         |
| DIMENSION    | ORDER_YEAR                   | ORDERS        | TABLE                    | ORDERS                                 |
| DIMENSION    | ORDER_YEAR                   | ORDERS        | EXPRESSION               | YEAR(o_orderdate)                      |
| DIMENSION    | ORDER_YEAR                   | ORDERS        | DATA_TYPE                | NUMBER(4,0)                            |
| DIMENSION    | ORDER_YEAR                   | ORDERS        | COMMENT                  | Year when the order was placed         |
+--------------+------------------------------+---------------+--------------------------+----------------------------------------+