- Kategorien:
SEMANTIC_VIEW¶
Gibt die semantische Ansicht zur Abfrage an. Sie geben SEMANTIC_VIEW(…) in einer FROM-Klausel in einer SELECT-Anweisung an.
- Siehe auch:
Syntax¶
SEMANTIC_VIEW(
[<namespace>.]<semantic_view_name>
[ METRICS <metric> [ , ... ] ]
[ DIMENSIONS <dimension_expr> [ , ... ] ]
[ WHERE <predicate> ]
)
Parameter¶
[namespace.]semantic_view_name
Gibt den Bezeichner für die semantische Ansicht an, die abgefragt werden soll.
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.
METRICS metric [ , ... ]
Gibt die Metriken an, die Sie in den Ergebnissen zurückgeben möchten.
Bemerkung
Sie können keinen Ausdruck angeben, der eine Metrik verwendet. Zum Beispiel können Sie
t1.metric_1 + 1
nicht angeben.Für die Namen der Metriken:
Sie können den Namen der Metrik qualifizieren (zum Beispiel
my_logical_table.my_metric
).Die Verwendung des nicht qualifizierten Namens funktioniert nur, wenn es keine anderen Bezeichner mit demselben nicht qualifizierten Namen in der semantischen Ansicht gibt. Wenn zum Beispiel eine Metrik und eine Dimension denselben nicht qualifizierten Namen verwenden, müssen Sie den Namen der Metrik in der Abfrage qualifizieren.
Um alle Metriken anzugeben, verwenden Sie ein Sternchen, qualifiziert durch den Namen der logischen Tabelle (zum Beispiel
my_logical_table.*
). Sie können kein Sternchen angeben, ohne es mit einem Tabellennamen zu qualifizieren.
Geben Sie die Metriken in der Reihenfolge an, in der sie in den Ergebnissen erscheinen sollen.
DIMENSIONS dimension_expr [ , ... ]
Gibt die Dimensionen an, die Sie in den Ergebnissen zurückgeben möchten. Sie können auch skalare Ausdrücke angeben, die sich auf Dimensionen in der semantischen Ansicht beziehen.
Für die Namen der Dimensionen:
Sie können den Namen der Dimension qualifizieren (z. B.
my_logical_table.my_dimension
). Die Verwendung des nicht qualifizierten Namens funktioniert nur, wenn es keine anderen Bezeichner mit demselben nicht qualifizierten Namen in der semantischen Ansicht gibt. Wenn zum Beispiel eine Metrik und eine Dimension denselben nicht qualifizierten Namen verwenden, müssen Sie den Namen der Dimension in der Abfrage qualifizieren.Um alle Dimensionen anzugeben, verwenden Sie ein Sternchen, qualifiziert durch den Namen der logischen Tabelle (zum Beispiel
my_logical_table.*
). Sie können kein Sternchen angeben, ohne es mit einem Tabellennamen zu qualifizieren.
Wenn Sie einen skalaren Ausdruck angeben, können Sie in diesem Ausdruck nicht auf Dimensionen in anderen semantischen Ansichten, Fakten oder Metriken verweisen.
Geben Sie die Dimensionen in der Reihenfolge an, in der sie in den Ergebnissen erscheinen sollen.
WHERE predicate
Ein boolescher Ausdruck. Der Ausdruck kann logische Operatoren, integrierte Funktionen und benutzerdefinierte Funktionen (UDFs) enthalten.
In der Bedingung können Sie sich nur auf Dimensionen oder Ausdrücke beziehen, die Dimensionen verwenden.
Diese Filterbedingung wird angewendet, bevor die Metriken berechnet werden.
Nutzungshinweise¶
In der SEMANTIC_VIEWS-Klausel müssen Sie die METRICS-Klausel, die DIMENSIONS-Klausel oder beide angeben.
Sie können nicht beide Klauseln in einer SEMANTIC_VIEWS-Klausel auslassen.
Geben Sie die Klauseln METRICS und DIMENSIONS in der Reihenfolge an, in der sie in den Ergebnissen erscheinen sollen.
Wenn Sie möchten, dass die Abmessungen zuerst in den Ergebnissen erscheinen, geben Sie DIMENSIONS vor METRICS an. Andernfalls geben Sie zuerst METRICS an.
Nehmen wir zum Beispiel an, dass Sie zuerst die METRICS-Klausel angeben:
SELECT * FROM SEMANTIC_VIEW( tpch_analysis METRICS customer.customer_order_count DIMENSIONS customer.customer_name ) ORDER BY customer_name LIMIT 5;
In der Ausgabe ist die erste Spalte die metrische Spalte (
customer_order_count
) und die zweite Spalte ist die Dimensionsspalte (customer_name
):+----------------------+--------------------+ | CUSTOMER_ORDER_COUNT | CUSTOMER_NAME | |----------------------+--------------------| | 6 | Customer#000000001 | | 7 | Customer#000000002 | | 0 | Customer#000000003 | | 20 | Customer#000000004 | | 4 | Customer#000000005 | +----------------------+--------------------+
Wenn Sie stattdessen zuerst die DIMENSIONS-Klausel angeben:
SELECT * FROM SEMANTIC_VIEW( tpch_analysis DIMENSIONS customer.customer_name METRICS customer.customer_order_count ) ORDER BY customer_name LIMIT 5;
In der Ausgabe ist die erste Spalte die Dimensionsspalte (
customer_name
) und die zweite Spalte ist die metrische Spalte (customer_order_count
):+--------------------+----------------------+ | CUSTOMER_NAME | CUSTOMER_ORDER_COUNT | |--------------------+----------------------| | Customer#000000001 | 6 | | Customer#000000002 | 7 | | Customer#000000003 | 0 | | Customer#000000004 | 20 | | Customer#000000005 | 4 | +--------------------+----------------------+
Sie können die durch eine SEMANTIC_VIEW-Klausel definierte Beziehung in anderen SQL-Konstrukten verwenden, einschließlich JOIN, PIVOT, UNPIVOT, GROUP BY und allgemeinen Tabellenausdrücken (CTEs).
Die Spaltenüberschriften der Ausgabe verwenden die unqualifizierten Namen der Metriken und Dimensionen.
Wenn Sie mehrere Metriken und Dimensionen mit denselben Namen haben, verwenden Sie einen Tabellenalias, um den Spaltenüberschriften unterschiedliche Namen zuzuweisen. Siehe Behandlung doppelter Spaltennamen in der Ausgabe.