Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Auf dieser Seite wird erläutert, wie die Kompositierbarkeit in metrischen Ansichten funktioniert und Beispiele enthält, in denen Gezeigt wird, wie Sie Logik erstellen, indem Sie auf Dimensionen, Measures und Verknüpfungen innerhalb einer einzelnen Ansicht aufbauen.
Überblick
Metrikansichten sind kompositorierbar, was bedeutet, dass Sie mehrschichtige, wiederverwendbare Logik definieren können. Anstatt jede Definition von Grund auf neu zu schreiben, können Sie neue Erstellen, die auf vorhandenen Dimensionen und Measures aufbauen.
Mit der Kompositierbarkeit können Sie:
- Verweisen auf zuvor definierte Dimensionen in neuen Dimensionen
- Verweisen Sie auf Dimensionen oder zuvor definierte Maße in neuen Maßnahmen
- Spalten aus Verknüpfungen referenzieren, die in der Metrikansicht definiert sind
Durch die Komponierbarkeit können Sie Duplizierung vermeiden, Metrikdefinitionen optimieren und komplexere Analysen unterstützen, ohne dass jedes Mal ROH-SQL erforderlich ist.
Metrische Komponierbarkeit
Die Kompositierbarkeit ist das Prinzip der Erstellung komplexer Metriken durch die Wiederverwendung einfacherer, grundlegender Maßnahmen. Anstatt komplexe, geschachtelte SQL-Logik für jeden abgeleiteten KPI zu schreiben und zu verwalten, definieren Sie einmal die zentralen "atomischen" Measures und verweisen dann in anderen, komplexeren Berechnungen darauf. Dieser Ansatz verbessert erheblich Konsistenz, Auditierbarkeit und Wartung Ihrer semantischen Ebene.
Die Grundlage der Komponierbarkeit ist die MEASURE() Funktion, mit der eine Measuredefinition auf alle anderen in derselben Metrikansicht definierten Maßen verweisen kann.
Maßnahmen mit Komponierbarkeit definieren
Die Komponierbarkeit wird im measures Abschnitt der Metrikansicht YAML implementiert.
| Messtyp | Description | Example |
|---|---|---|
| Atomar | Eine einfache, direkte Aggregation in einer Quellspalte. Diese bilden die Bausteine. | SUM(o_totalprice) |
| Zusammengestellt | Ein Ausdruck, der eine oder mehrere andere Kennzahlen mithilfe der MEASURE()-Funktion mathematisch kombiniert. |
MEASURE(Total Revenue) / MEASURE(Order Count) |
Beispiel: Durchschnittlicher Bestellwert (AOV)
Zum Berechnen des durchschnittlichen Bestellwerts (Average Order Value, AOV) benötigen Sie zwei Measures: Total Revenue und Order Count.
source: samples.tpch.orders
measures:
# Total Revenue
- name: total_revenue
expr: SUM(o_totalprice)
comment: The gross total value of all orders.
display_name: 'Total Revenue'
# Order Count
- name: order_count
expr: COUNT(1)
comment: The total number of line items or orders.
display_name: 'Order Count'
# Composed Measure: Average Order Value (AOV)
- name: avg_order_value
# Defines AOV as Total Revenue divided by Order Count
expr: MEASURE(total_revenue) / MEASURE(order_count)
comment: Total revenue divided by the number of orders.
display_name: 'Avg Order Value'
Wenn sich in diesem Beispiel die Definition von total_revenue ändert (z. B. wenn ein Filter zum Ausschließen von Steuern hinzugefügt wird), erbt avg_order_value die Änderung automatisch, um sicherzustellen, dass die AOV-Metrik mit der neuen Geschäftsregel konsistent bleibt.
Kompositierbarkeit mit bedingter Logik
Sie können die Komponierbarkeit verwenden, um komplexe Verhältnisse, bedingte Prozentsätze und Wachstumsraten zu erstellen, ohne sich auf Fensterfunktionen für einfache Periodenberechnungen zu verlassen.
Beispiel: Erfüllungsrate
Zum Berechnen der Erfüllungsrate (Erfüllte Bestellungen / Gesamtbestellungen) definieren Sie zuerst das Measure für abgeschlossene Bestellungen mithilfe einer FILTER Klausel.
source: samples.tpch.orders
measures:
# Total Orders (denominator)
- name: total_orders
expr: COUNT(1)
comment: Total volume of orders regardless of status.
# Fulfilled Orders (numerator)
- name: fulfilled_orders
expr: COUNT(1) FILTER (WHERE o_orderstatus = 'F')
comment: Only includes orders marked as fulfilled.
# Composed Measure: Fulfillment Rate (Ratio)
- name: fulfillment_rate
expr: MEASURE(fulfilled_orders) / MEASURE(total_orders)
display_name: 'Order Fulfillment Rate'
format:
type: percentage # Using semantic metadata to format as a percent
Bewährte Methoden für die Verwendung der Kompositierbarkeit
-
Definieren Sie zunächst atomare Maßeinheiten: Richten Sie immer Ihre grundlegenden Maßeinheiten (
SUM,COUNT,AVG) ein, bevor Sie Maßnahmen definieren, die auf sie verweisen. -
Verwendung
MEASURE()für Konsistenz: Verwenden Sie die Funktion immer, wenn Sie auf dieMEASURE()Berechnung eines anderen Measures innerhalb einerexpr. Versuchen Sie nicht, die Aggregationslogik manuell zu wiederholen (z. B.SUM(a) / COUNT(b)vermeiden Sie, wenn sowohl Maßnahmen für den Zähler als auch für den Nenner bereits vorhanden sind). -
Priorisieren Sie die Lesbarkeit: Das
exprfür ein zusammengesetztes Measure sollte wie eine mathematische Formel, die den KPI darstellt, lesbar sein. BeispielsweiseMEASURE(Gross Profit) / MEASURE(Total Revenue)ist klarer und einfacher zu überwachen als ein einzelner komplexer SQL-Ausdruck. -
Kombinieren mit semantischen Metadaten: Verwenden Sie nach dem Verfassen eines Verhältnisses semantische Metadaten (wie im
fulfillment_rateBeispiel gezeigt), um das Ergebnis automatisch als Prozentsatz oder Währung für nachgeschaltete Tools zu formatieren. Siehe Verwenden semantischer Metadaten in Metrikansichten.