Wie Sie eine Messung in Looker dimensionieren

In der Regel ist es in SQL – und damit auch in Looker – nicht möglich, eine Abfrage nach den Ergebnissen einer Aggregatfunktion (in Looker als Messwerte dargestellt) zu gruppieren. Sie können nur nach nicht aggregierten Feldern gruppieren, die in Looker als Dimensionen dargestellt werden. Wenn Sie versuchen, eine Messung in Looker zu aggregieren, wird der folgende Fehler angezeigt:

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

Wie können Sie einen Messwert (COUNT, SUM, AVG, MAX usw.) in eine Dimension ändern, damit Sie ihn gruppieren können, um ihn zu aggregieren (z. B. SUMME einer COUNT oder AVG einer SUM), danach filtern (in der WHERE-Klausel statt einer HAVING-Klausel) oder in einem Explore einen pivot-Vorgang ausführen?

Abgeleitete Tabellen verwenden, um einen Messwert zudimensionalisieren

Intern wird diese Lösung bei Looker als Dimensionierung einer Messung bezeichnet. Das liegt daran, dass Sie eine Messung als Dimension neu definieren. Dazu wird eine abgeleitete Tabelle erstellt, die den Messwert enthält, der in ihrer SQL-Definition segmentiert werden soll.

Vorgehensweise

Das folgende Beispiel basiert auf einem E-Commerce-Beispiel-Dataset. Das Ziel für dieses Beispiel ist es, eine type: average-Messung 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 erstellen, die auch als native abgeleitete Tabelle (NDT) bezeichnet wird.
  1. Richten Sie zuerst eine Explore-Abfrage ein. Wählen Sie die entsprechenden Felder aus, einschließlich der Kennzahl, die Sie darstellen möchten.

    Im Anwendungsfall enthält die Tabelle Daten analysieren 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 haben (durch Klicken auf die Schaltfläche Ausführen) und die Ergebnisse bestätigt haben, wählen Sie im SQL-Runner-Zahnradmenü die Option Add to Project (Zum Projekt hinzufügen), um das Pop-up Add to Project (Zum Projekt hinzufügen) zu öffnen. An dieser Stelle müssen Sie alle Zeilenlimitklauseln in der abgeleiteten Tabelle in SQL entfernen, damit alle gewünschten Ergebnisse in der Abfrage enthalten sind.

    Sie können im Menü auch Abgeleitete Tabelle LookML abrufen auswählen, um den generierten LookML-Code zu kopieren und manuell in Ihr Projekt einzufügen.
  4. 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.
  5. Da sich die abgeleitete Tabelle nun in einer Ansichtsdatei befindet, können Sie einen Messwert erstellen, der den dimensionalen Messwert aggregiert. Sie können jetzt beispielsweise einen Messwert type: average 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. Verbinden Sie die neue Ansicht mit dem ursprünglichen Explore (oder erstellen Sie ein neues), um Abfragen und Inhalte mit den neuen Feldern erstellen zu können.

Fazit

Die Dimensionierung von Messungen mit von Looker abgeleiteten Tabellen eröffnet neue Möglichkeiten und bietet die Möglichkeit, aus Ihren Daten weitere Informationen zu gewinnen. Sie haben die Möglichkeit, nach einem dimensionalen Messwert zu gruppieren , in einer WHERE-Klausel (anstelle von HAVING) danach zu filtern, einen Drehpunkt darauf aufzubauen und andere darauf basierende Dimensionen zu erstellen. So können Sie Ihre Explore-Abfragen und -Inhalte in die nächste Dimension bringen.

Auf der Dokumentationsseite Abgeleitete Tabellen finden Sie weitere Informationen zum Erstellen und Verwenden von abgeleiteten Tabellen sowie Überlegungen und Tipps zur Leistungsoptimierung.