In SQL und damit auch in Looker können Sie eine Abfrage in der Regel nicht nach den Ergebnissen einer Aggregatfunktion gruppieren (in Looker als Messwerte dargestellt). Sie können nur nach nicht aggregierten Feldern gruppieren, die in Looker als Dimensionen dargestellt werden. Wenn Sie versuchen, einen Messwert in Looker zu aggregieren, sehen Sie Folgendes: Fehler:
Measures with Looker aggregations (sum, average, min, max, list types) may not reference other measures.
Angenommen, Sie möchten einen Messwert (ANZAHL, SUMME, AVG, MAX usw.) in eine Dimension, sodass Sie sie gruppieren können, um sie zu aggregieren (wie die SUMME eines ANZAHLS oder den MITTELWERT einer SUMME). nach diesem Wert filtern (in der WHERE-Klausel anstelle eines HAVING-Klausel) oder in einem Explore pivotieren?
Abgeleitete Tabellen zum Dimensionieren eines Messwerts verwenden
Intern bei Looker wird diese Lösung als Dimensionierung eines Messwerts bezeichnet. Das liegt daran, dass Sie einen Messwert als Dimension neu definieren. Dazu erstellen Sie eine abgeleitete Tabelle, die das Maß enthält, das Sie in der SQL-Definition dimensionieren möchten.
Vorgehensweise
Das folgende Beispiel basiert auf einem Beispiel-E-Commerce-Dataset. Das Ziel in diesem Beispiel ist,
um eine Messung für type: average
zu erstellen, die auf einem vorhandenen Messwert für den Gesamtumsatz type: sum
basiert.
In den folgenden Schritten wird beschrieben, wie Sie eine SQL-basierte abgeleitete Tabelle generieren. Als Alternative zu SQL können Sie eine LookML-basierte abgeleitete Tabelle, auch als native abgeleitete Tabelle (NDT) bezeichnet, erstellen.
- Erstellen Sie zuerst eine Explore-Abfrage. Wählen Sie die entsprechenden Felder aus, einschließlich des Messwerts, den Sie dimensional darstellen möchten. Im Beispielanwendungsfall enthält die Tabelle Daten den Gesamtumsatz, gruppiert nach Nutzerstatus und Nutzer-ID:
- Wählen Sie Open in SQL Runner (In SQL-Runner öffnen) aus. auf dem Tab SQL in der Tabelle Daten, um die Abfrage in SQL Runner zu öffnen:
-
Nachdem Sie die Abfrage in SQL Runner ausgeführt (auf die Schaltfläche Ausführen geklickt) und die Ergebnisse bestätigt haben, wählen Sie im Zahnradmenü von SQL Runner die Option Add to Project (Zum Projekt hinzufügen) aus, um das Pop-up-Fenster Add to Project (Zum Projekt hinzufügen) zu öffnen. Entfernen Sie jetzt alle Zeilenbeschränkungsklauseln aus der SQL-Abfrage der abgeleiteten Tabelle, damit alle gewünschten Ergebnisse in die Abfrage aufgenommen werden.
Sie können auch im Menü LookML abrufen auswählen, um den generierten LookML-Code manuell zu kopieren und in Ihr Projekt einzufügen.
- Wählen Sie im Pop-up-Fenster Zum Projekt hinzufügen einen Projektnamen aus dem Drop-down-Menü Projekt aus. Geben Sie einen Namen für die Ansichtsdatei der abgeleiteten Tabelle ein und wählen Sie Hinzufügen aus.
-
Da sich die abgeleitete Tabelle jetzt in einer Ansichtsdatei befindet, können Sie ein Messwert erstellen, mit dem das dimensionierte Maß aggregiert wird. So können Sie beispielsweise jetzt einen
type: average
-Messwert für die neue Dimension „Gesamtumsatz“ (order_items_total_revenue
) erstellen:dimension: order_items_total_revenue { type: number sql: ${TABLE}.order_items.total_revenue ;; value_format_name: usd } measure: average_revenue { type: average sql: ${order_items_total_revenue} ;; value_format_name: usd }
- Prüfen Sie noch einmal, ob in der abgeleiteten Tabelle ein Primärschlüssel definiert ist.
- Beitreten die neue Ansicht in das ursprüngliche Explore (oder erstellen Sie ein neues Explore), um Abfragen erstellen zu können und Inhalt mit den neuen Feldern.
Fazit
Neue Möglichkeiten durch die Dimensionalisierung von Messwerten mit abgeleiteten Looker-Tabellen und liefert Ihnen die Möglichkeit, aus Ihren Daten weitere Erkenntnisse zu gewinnen. Da Sie jetzt nach einem dimensionalisierten Messwert gruppieren, in einer WHERE-Klausel (anstelle von HAVING) nach ihm filtern, Pivot-Analysen erstellen und andere Dimensionen basierend darauf erstellen können, können Sie Ihre explorativen Abfragen und Inhalte auf die nächste Dimension ausweiten.
Auf der Dokumentationsseite Abgeleitete Tabellen finden Sie weitere Informationen zum Erstellen und Verwenden abgeleiteter Tabellen sowie Hinweise und Tipps zur Leistungsoptimierung.