Messwert in Looker als Dimension verwenden

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, ein Messwert in Looker zu aggregieren, wird der folgende Fehler angezeigt:

Measures with Looker aggregations (sum, average, min, max, list types) may not reference other measures.

Was ist, wenn Sie einen Messwert (ZÄHLE, SUMME, MITTELWERT, MAX. usw.) in eine Dimension umwandeln möchten, damit Sie nach ihm gruppieren und aggregieren können (z. B. SUMME einer ZÄHLE oder MITTELWERT einer SUMME), nach ihm filtern (in der WHERE-Klausel anstelle einer HAVING-Klausel) oder in einer explorativen Datenanalyse Pivot-Analysen erstellen können?

Abgeleitete Tabellen für die Dimensionierung 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.

Der Prozess

Das folgende Beispiel basiert auf einem Beispiel-E-Commerce-Dataset. In diesem Beispiel soll ein Messwert vom Typ type: average erstellt werden, der auf dem vorhandenen Messwert Gesamtumsatz type: sum basiert.

In den folgenden Schritten wird beschrieben, wie Sie eine SQL-basierte abgeleitete Tabelle generieren. Sie können eine LookML-basierte abgeleitete Tabelle, auch native abgeleitete Tabelle (NDT) genannt, als Alternative zu SQL erstellen.
  1. Erstellen Sie zuerst eine Explore-Abfrage. Wählen Sie die entsprechenden Felder aus, einschließlich des Messwerts, den Sie dimensionieren möchten.

    Im Beispielfall enthält die Tabelle Daten im explorativen Analysetool den Gesamtumsatz, gruppiert nach Nutzerstatus und Nutzer-ID:

  2. Wählen Sie in der Tabelle Daten auf dem Tab SQL die Option In SQL-Runner öffnen aus, um die Abfrage in SQL-Runner zu öffnen:

  3. 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 LookML für abgeleitete Tabelle abrufen aus dem Menü auswählen, um die generierte LookML manuell in Ihr Projekt zu kopieren und einzufügen.
  4. Wählen Sie im Pop-up-Fenster Zum Projekt hinzufügen im Drop-down-Menü Projekt einen Projektnamen aus, geben Sie einen Namen für die Datei der abgeleiteten Tabellenansicht ein und wählen Sie Hinzufügen aus.
  5. 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
          }
        
  6. Prüfen Sie noch einmal, ob in der abgeleiteten Tabelle ein Primärschlüssel definiert ist.
  7. Fügen Sie die neue Ansicht dem ursprünglichen Explore hinzu (oder erstellen Sie ein neues Explore), um Abfragen und Inhalte mit den neuen Feldern erstellen zu können.

Fazit

Wenn Sie Messwerte mit abgeleiteten Looker-Tabellen dimensionieren, stehen Ihnen neue Funktionen zur Verfügung und Sie können mit Ihren Daten weitere Erkenntnisse 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 Datenanalysen 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.