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>
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 namenscustomers
.
Die Ansicht enthält die folgenden Spalten:
Spalte |
Beschreibung |
---|---|
|
Typ des Objekts, das die Eigenschaft für diese Zeile besitzt. Der Wert kann einer der folgenden sein:
|
|
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. |
|
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. |
|
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 ( In den folgenden Abschnitten finden Sie Einzelheiten zu den Eigenschaften und ihren möglichen Werten, basierend auf dem Wert in der Spalte
|
|
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 |
---|---|
|
Name der Datenbank, die die logische Tabelle enthält. |
|
Name des Schemas, das die logische Tabelle enthält. |
|
Name der logischen Tabelle. |
|
Array von VARCHAR-Werten, die die Synonyme für die logische Tabelle darstellen. |
|
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 |
---|---|
|
Name einer der logischen Tabellen in der Beziehung. |
|
Name der Spalte in dieser logischen Tabelle, die in der Beziehung verwendet wird. |
|
Name der anderen logischen Tabelle in der Beziehung. |
|
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 |
---|---|
|
Name der logischen Tabelle, die zur Definition der Dimension, des Fakts oder der Metrik verwendet wird. |
|
Der SQL-Ausdruck für die Dimension, den Fakt oder die Metrik. |
|
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 |
---|---|
|
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;
+--------------+------------------------------+---------------+--------------------------+----------------------------------------+
| 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 |
+--------------+------------------------------+---------------+--------------------------+----------------------------------------+