Aggregierte Bekanntheit

Eine Anleitung zum Implementieren aggregierter Bekanntheit finden Sie in unserem Hilfeartikel Zusammengefasste Bekanntheit.

Übersicht

Looker verwendet eine zusammengefasste Bekanntheitslogik, um die kleinste und effizienteste Tabelle in Ihrer Datenbank zu finden, um eine Abfrage auszuführen und gleichzeitig die Genauigkeit beizubehalten.

Bei sehr großen Tabellen in Ihrer Datenbank können Looker-Entwickler kleinere zusammengefasste Datentabellen erstellen, die nach verschiedenen Attributkombinationen gruppiert sind. Die zusammengefassten Tabellen dienen als Sammel- oder Zusammenfassungstabellen, die Looker nach Möglichkeit für Abfragen anstelle der ursprünglichen großen Tabelle verwenden kann. Bei strategischer Implementierung kann die zusammengefasste Bekanntheit die durchschnittliche Abfrage im großen Umfang beschleunigen.

Angenommen, Sie haben eine Datentabelle im Petabytebereich mit einer Zeile für jede Bestellung auf Ihrer Website. Anhand dieser Datenbank können Sie eine zusammengefasste Tabelle mit den täglichen Verkäufen erstellen. Wenn Ihre Website täglich 1.000 Bestellungen erhält, würde die tägliche zusammengefasste Tabelle jeden Tag mit 999 weniger Zeilen als die ursprüngliche Tabelle darstellen. Sie können eine weitere zusammengefasste Tabelle mit den monatlichen Gesamtumsätzen erstellen, die noch effizienter ist. Wenn ein Nutzer nun eine Abfrage für tägliche oder wöchentliche Verkäufe ausführt, verwendet Looker die Tabelle für tägliche Verkäufe insgesamt. Wenn ein Nutzer eine Abfrage zu jährlichen Verkäufen ausführt und Sie keine jährliche aggregierte Tabelle haben, verwendet Looker die nächstbeste Option. In diesem Beispiel ist das die zusammengefasste Tabelle für monatliche Verkäufe.

Dieses Bild zeigt, wie Looker Ihren Nutzern nach Möglichkeit Fragen mit aggregierten Tabellen beantwortet:

  • Bei einer Abfrage zum gesamten monatlichen Umsatz verwendet Looker die zusammengefasste Tabelle basierend auf den monatlichen Verkäufen (sales_monthly_aggregate_table).
  • Für eine Abfrage der Gesamtsumme von jedem Verkauf an einem Tag gibt es keine zusammengefasste Tabelle mit diesem Detaillierungsgrad. Daher ruft Looker Abfrageergebnisse aus der ursprünglichen Datenbanktabelle (orders_database) ab. Wenn Ihre Nutzer jedoch häufig diese Art von Abfrage ausführen, können Sie problemlos eine zusammengefasste Tabelle dafür erstellen.
  • Für eine Abfrage zum wöchentlichen Umsatz gibt es keine wöchentliche Zusammenfassungstabelle. Daher verwendet Looker die nächstbeste Lösung: die aggregierte Tabelle auf Grundlage der täglichen Verkäufe (sales_daily_aggregate_table).

Mit der Logik für die aggregierte Bekanntheit fragt Looker die kleinstmögliche Tabelle ab, die zur Beantwortung der Fragen Ihrer Nutzer zur Verfügung steht. Die ursprüngliche Tabelle wird nur für Abfragen verwendet, die eine höhere Genauigkeit erfordern, als die aggregierten Tabellen bieten können.

Aggregierte Tabellen müssen nicht zusammengeführt oder einer separaten Erkundung hinzugefügt werden. Stattdessen passt Looker die FROM-Klausel der Abfrage „Erkunden“ dynamisch an, um auf die beste zusammengefasste Tabelle für die Abfrage zuzugreifen. Das bedeutet, dass deine Übungen aufrechterhalten und die Erkundungsergebnisse zusammengeführt werden können. Mit der zusammengefassten Bekanntheit kann eine Funktion „Erkunden“ automatisch zusammengefasste Tabellen nutzen, aber bei Bedarf trotzdem tief in detaillierte Daten eintauchen.

Sie können auch zusammengefasste Tabellen verwenden, um die Leistung von Dashboards drastisch zu verbessern, insbesondere für Kacheln, die große Datasets abfragen. Weitere Informationen finden Sie auf der Dokumentationsseite zum Parameter aggregate_table im Abschnitt LookML aus einem Dashboard abrufen.

Aggregierte Tabellen zu Ihrem Projekt hinzufügen

Um für zusammengefasste Bekanntheit zugänglich zu sein, müssen zusammengefasste Tabellen in Ihrer Datenbank beibehalten werden. Da die zusammengefassten Tabellen eine Art von persistenter abgeleiteter Tabelle (PDT) sind, haben zusammengefasste Tabellen dieselben Anforderungen wie PDTs. Weitere Informationen finden Sie auf der Dokumentationsseite Abgeleitete Tabellen in Looker.

Looker-Entwickler können strategische zusammengefasste Tabellen erstellen, die die Anzahl der Abfragen minimieren, die für die großen Tabellen in einer Datenbank erforderlich sind. Aggregierte Tabellen müssen in Ihrer Datenbank persistent werden, damit sie für die zusammengefasste Bekanntheit zugänglich sind. Aggregierte Tabellen sind daher ein Typ von persistenter abgeleiteter Tabelle (PDT).

Eine zusammengefasste Tabelle wird mithilfe des Parameters aggregate_table unter einem explore-Parameter in Ihrem LookML-Projekt definiert.

Hier ein Beispiel für eine explore mit einer aggregierten Tabelle in LookML:

explore: orders {
  label: "Sales Totals"
  join: order_items {
    sql_on: ${orders.id} = ${order_items.id} ;;
  }
  aggregate_table: sales_monthly {
    materialization: {
      datagroup_trigger: orders_datagroup
    }
    query: {
      dimensions: [created_month]
      measures: [order_items.total_sales]
    }
  }
  # other explore parameters
}

Zum Erstellen einer zusammengefassten Tabelle können Sie die komplett neue LookML-Version verwenden oder die LookML-Tabelle aus einem Explore oder einem Dashboard erstellen. Weitere Informationen zum Parameter aggregate_table und zu den zugehörigen Unterparametern finden Sie in der Dokumentation zum aggregate_table-Parameter.

Aggregierte Tabellen entwerfen

Damit für eine Abfrage zum Erkunden eine zusammengefasste Tabelle verwendet werden kann, muss diese in der Lage sein, genaue Daten für die Abfrage bereitzustellen. Looker kann eine zusammengefasste Tabelle für eine Explore-Abfrage verwenden, wenn Folgendes zutrifft:

  • Die Felder der Abfrage „Erkunden“ sind eine Teilmenge der aggregierten Tabellenfelder (siehe Abschnitt Feldfaktoren auf dieser Seite). Bei Zeiträumen können Sie die Zeiträume aus der Abfrage in der aggregierten Tabelle ableiten (siehe Abschnitt Zeitraumfaktoren auf dieser Seite).
  • Die Abfrage „Erkunden“ enthält Maßeinheiten, die von der zusammengefassten Bekanntheit unterstützt werden (siehe Abschnitt Faktoren für Messwerte messen auf dieser Seite) oder die Abfrageabfrage hat eine zusammengefasste Tabelle, die genau mit der Abfrage übereinstimmt (siehe den Abschnitt Aggregierte Tabellen erstellen, die genau mit Abfragen übereinstimmen auf dieser Seite).
  • Die Zeitzone der Abfrage „Erkunden“ entspricht der Zeitzone, die in der zusammengefassten Tabelle verwendet wird. Weitere Informationen finden Sie im Abschnitt Faktoren für die Zeitzone auf dieser Seite.
  • Die Filter „Abfrage abfragen“ verweisen auf Felder, die als Dimensionen in der zusammengefassten Tabelle verfügbar sind, oder für jeden Filter der Abfrage „Erkunden“ ein Filter in der zusammengefassten Tabelle. Weitere Informationen finden Sie auf dieser Seite im Abschnitt Faktoren filtern.

Wenn Sie sicherstellen möchten, dass eine zusammengefasste Tabelle genaue Daten für eine Erkundungsabfrage bereitstellen kann, können Sie einfach eine zusammengefasste Tabelle erstellen, die genau mit einer Erkundungsabfrage übereinstimmt. Weitere Informationen finden Sie auf dieser Seite im Abschnitt Aggregierte Tabellen erstellen, die genau mit „Abfragen untersuchen“ übereinstimmen.

Feldfaktoren

Damit eine zusammengefasste Tabelle für eine Abfrage „Erkunden“ verwendet werden kann, muss sie alle Dimensionen und Messwerte enthalten, die für diese Abfrage erforderlich sind. Dazu gehören auch die Felder für Filter in der Abfrage „Erkunden“. Wenn eine Abfrage vom Typ „Erkunden“ eine Dimension oder ein Maß enthält, das sich nicht in einer zusammengefassten Tabelle befindet, kann Looker nicht die zusammengefasste Tabelle und stattdessen die Basistabelle verwenden.

Wenn eine Abfrage beispielsweise nach den Dimensionen A und B gruppiert, nach Messwert C aggregiert und nach Dimension D gefiltert wird, muss die zusammengefasste Tabelle mindestens die Dimensionen A, B und D als Messwert und C als Messwert haben.

Die zusammengefasste Tabelle kann auch andere Felder enthalten, muss jedoch mindestens die Felder der Abfrage enthalten, um eine Optimierung zu ermöglichen. Die einzige Ausnahme sind Dimensionen für den Zeitraum, da gröbere Detaillierungszeiträume von feineren Detaillierungsgraden abgeleitet werden können.

Daher sind für das Feld „Erkunden“ zusammengefasste Tabellen spezifisch. Eine unter einer explorativen Datenanalyse definierte zusammengefasste Tabelle wird nicht für Abfragen in einer anderen Analyse verwendet.

Zeitrahmen

Mit der zusammengefassten Bekanntheitslogik von Looker kann ein Zeitraum aus einem anderen abgerufen werden. Eine zusammengefasste Tabelle kann für eine Abfrage verwendet werden, sofern der Zeitraum der zusammengefassten Tabelle einen feineren (oder gleichwertigen) Detaillierungsgrad wie die Abfrage „Erkunden“ hat. Eine zusammengefasste Tabelle, die auf täglichen Daten basiert, kann beispielsweise für eine Abfrage vom Typ „Erkunden“ verwendet werden, bei der andere Zeiträume aufgerufen werden, z. B. Abfragen für Daten für einen Tag, einen Monat oder ein Jahr bzw. sogar Daten für den Wochentag, den Jahrestag oder den Wochentag. Allerdings kann eine jährliche zusammengefasste Tabelle nicht für eine Erkundungsabfrage verwendet werden, die stündliche Daten anfordert, da die aggregierten Tabellendaten nicht genau genug für die Erkundungsabfrage sind.

Dasselbe gilt für Teilmengen von Zeiträumen. Wenn Sie beispielsweise eine zusammengefasste Tabelle haben, die für die letzten drei Monate gefiltert wurde, und ein Nutzer die Daten mit einem Filter der letzten zwei Monate abfragt, kann Looker die zusammengefasste Tabelle für diese Abfrage verwenden.

Außerdem gilt dieselbe Logik für Abfragen mit Zeitraumfiltern: Eine aggregierte Tabelle kann für eine Abfrage mit einem Zeitraumfilter verwendet werden, solange der Zeitraum der zusammengefassten Tabelle einen feineren (oder gleichwertigen) Detaillierungsgrad wie der Zeitfilter hat, der in der Abfrage „Erkunden“ verwendet wird. Beispielsweise kann eine zusammengefasste Tabelle mit einer täglichen Zeitraumdimension für eine Abfrage vom Typ „Erkunden“ verwendet werden, die nach Tag, Woche oder Monat filtert.

Typfaktoren messen

Damit für eine Abfrage zum Erkunden eine zusammengefasste Tabelle verwendet werden kann, müssen die Messwerte in der zusammengefassten Tabelle in der Lage sein, genaue Daten für die Abfrage „Erkunden“ bereitzustellen.

Aus diesem Grund werden nur bestimmte Arten von Maßnahmen unterstützt, wie in den folgenden Abschnitten beschrieben:

Wenn für eine Abfrage zum Erkunden eine andere Messwertart verwendet wird, verwendet Looker die ursprüngliche Tabelle, nicht die zusammengefasste Tabelle, um Ergebnisse zurückzugeben. Die einzige Ausnahme ist, wenn die Abfrage „Erkunden“ einer Abfrage einer aggregierten Tabelle genau entspricht, wie im Abschnitt Aggregierte Tabellen erstellen, die genau mit Abfragen vom Typ „Erkunden“ übereinstimmen beschrieben werden.

Andernfalls verwendet Looker die ursprüngliche Tabelle, nicht die zusammengefasste Tabelle, um Ergebnisse zurückzugeben.

Messwerte mit unterstützten Messtypen

Die aggregierte Bekanntheit kann für Suchanfragen verwendet werden, für die Messwerte mit folgenden Messtypen verwendet werden:

Wenn mit einem explorativen Analysetool mehrere Datenbanktabellen verknüpft werden, kann Looker Messwerte vom Typ SUM, COUNT und AVERAGE als SUM DISTINCT, COUNT DISTINCT bzw. AVERAGE DISTINCT rendern. Dies dient Looker, um Fehlkalkulationen zu vermeiden, wie auf dieser Seite im Abschnitt Symmetrische Aggregationen für „Erkunden mit Joins“ beschrieben.

Wenn Sie eine zusammengefasste Tabelle für eine Abfrage „Erkunden“ verwenden möchten, muss Looker die Messwerte der zusammengefassten Tabelle bearbeiten können, um in der Abfrage „Erkunden“ genaue Daten zur Verfügung zu stellen. Ein Messwert mit type: sum kann beispielsweise verwendet werden, um die Markenbekanntheit zu erhöhen, weil Sie mehrere Summen zusammenfassen können: Eine aggregierte Tabelle mit wöchentlichen Summen kann addiert werden, um eine genaue monatliche Summe zu erhalten. Ebenso kann ein Messwert mit type: max verwendet werden, da sich anhand einer aggregierten Tabelle mit täglichen Höchstwerten das genaue wöchentliche Maximum ermitteln lässt.

Bei Maßnahmen mit type: average wird die aggregierte Bekanntheit unterstützt, weil Looker anhand von Summen- und Zähldaten Durchschnittswerte aus aggregierten Tabellen abgeleitet.

Mit SQL-Ausdrücken definierte Messwerte

Die aggregierte Bekanntheit kann auch mit Messwerten verwendet werden, die mit Ausdrücken im sql-Parameter definiert sind. Wenn sie mit SQL-Ausdrücken definiert sind, werden auch die folgenden Messtypen unterstützt:

Die zusammengefasste Bekanntheit wird für Maßnahmen unterstützt, die als Kombinationen anderer Maßnahmen definiert werden, z. B.:

measure: total_revenue_in_dollars {
  type: number
  sql: ${total_revenue_in_dollars} - ${inventory_item.total_cost_in_dollars} ;;
}

Die zusammengefasste Bekanntheit wird auch für Messwerte unterstützt, bei denen Berechnungen im Parameter sql definiert sind, z. B.:

measure: wholesale_value {
  type: number
    sql: (${order_items.total_sale_price} * 0.60) ;;
}

Die zusammengefasste Bekanntheit wird auch für Messwerte unterstützt, bei denen MIN-, MAX- und COUNT-Vorgänge im sql-Parameter definiert sind. Hier ein Beispiel:

measure: most_recent_order_date {
  type: date
  sql: MAX(${users.created_at_raw})
}

Aggregierte Bekanntheit wird nur für MIN()-, MAX()- und COUNT()-Vorgänge unterstützt. Wenn Sie in Ihrer zusammengefassten Tabelle einen Durchschnittswert oder ein Summenmaß verwenden möchten, können Sie einen Messwert mit dem Wert type: average oder type: sum erstellen.

Messwerte, die auf LookML-Felder verweisen

Wenn sql-Ausdrücke in Messwerten verwendet werden, unterstützt die zusammengefasste Bekanntheit die folgenden Arten von Feldverweisen:

  • Verweise im Format ${view_name.field_name}, das Felder in anderen Ansichten angibt
  • Verweise im Format ${field_name}, das Felder in derselben Ansicht angibt

Für Messwerte, die mit dem Format ${TABLE}.column_name definiert sind, das eine Spalte in einer Tabelle angibt, wird die zusammengefasste Bekanntheit nicht unterstützt. Eine Übersicht über die Verwendung von Referenzen in LookML finden Sie auf der Dokumentationsseite SQL einbinden und auf LookML-Objekte verweisen.

Ein mit diesem sql-Parameter definierter Messwert wird beispielsweise in einer zusammengefassten Tabelle nicht unterstützt, da er das Format ${TABLE}.column_name hat:

measure: wholesale_value {
  type: number
  sql: (${TABLE}.total_sale_price * 0.60) ;;
}

Wenn Sie diesen Messwert in eine zusammengefasste Tabelle aufnehmen möchten, können Sie stattdessen eine Dimension mit dem Format ${TABLE}.column_name erstellen und dann einen Messwert erstellen, der auf die Dimension verweist. Das sieht dann so aus:


 dimension: total_sale_price {
    sql: (${TABLE}.total_sale_price) ;;
  }

  measure: wholesale_value {
    type: number
    sql: (${total_sale_price} * 0.60) ;;
}

Sie können jetzt die wholesale_value-Metrik in Ihrer aggregierten Tabelle verwenden.

Misst die unterschiedlichen Zählerwerte

Im Allgemeinen werden unterschiedliche Zahlen nicht mit der aggregierten Bekanntheit unterstützt, weil Sie keine genauen Daten abrufen können, wenn Sie versuchen, unterschiedliche Anzahlen zu aggregieren. Wenn Sie z. B. die einzelnen Nutzer auf einer Website zählen, kann es sein, dass ein Nutzer die Website zweimal im Abstand von drei Wochen besucht hat. Wenn Sie versuchen, die wöchentliche zusammengefasste Tabelle anzuwenden, um die Anzahl der einzelnen Nutzer pro Monat auf Ihrer Website zu ermitteln, wird dieser Nutzer in der Abfrage der monatlichen Zählung doppelt gezählt und die Daten sind nicht korrekt.

Sie können das Problem umgehen, indem Sie eine zusammengefasste Tabelle erstellen, die genau mit einer Abfrage vom Typ „Erkunden“ übereinstimmt. Weitere Informationen finden Sie im Abschnitt Aggregierte Tabellen erstellen, die genau mit Abfragen vom Typ „Erkunden“ übereinstimmen auf dieser Seite beschrieben. Wenn die Abfrage „Erkunden“ und die Abfrage einer zusammengefassten Tabelle identisch sind, liefern verschiedene Messwerte zur Zählung genaue Daten, sodass sie verwendet werden können, um die Markenbekanntheit zu steigern.

Eine weitere Option besteht darin, Näherungswerte für verschiedene Zähler zu verwenden. Bei Dialekten, die HyperLogLog-Skizzen unterstützen, kann Looker den HyperLogLog-Algorithmus nutzen, um ungefähre Werte für zusammengefasste Tabellen zu ermitteln.

Der HyperLogLog-Algorithmus hat bekanntermaßen einen Fehler von 2 %. Für den Parameter allow_approximate_optimization: yes müssen Ihre Looker-Entwickler bestätigen, dass die Verwendung von ungefähren Daten für die Messung zulässig ist, damit die Messung ungefähr anhand von zusammengefassten Tabellen berechnet werden kann.

Weitere Informationen und eine Liste der Dialekte, die die Anzahl mit HyperLogLog unterscheiden finden Sie auf der Dokumentationsseite zum Parameter allow_approximate_optimization.

Zeitzonenfaktoren

In vielen Fällen verwenden Datenbankadministratoren UTC als Zeitzone für Datenbanken. Viele Nutzer sind jedoch nicht in der UTC-Zeitzone. Looker bietet mehrere Optionen zum Konvertieren von Zeitzonen, damit Ihre Nutzer Abfrageergebnisse in ihrer eigenen Zeitzone erhalten:

  • Abfragezeitzone: Diese Einstellung gilt für alle Abfragen der Datenbankverbindung. Wenn sich alle Nutzer in derselben Zeitzone befinden, können Sie eine einzelne Abfragezeitzone festlegen, sodass alle Abfragen von der Datenbankzeitzone in die Abfragezeitzone konvertiert werden.
  • Nutzerspezifische Zeitzonen, in denen Nutzer einzeln zugewiesen und ausgewählt werden können. In diesem Fall werden Abfragen von der Zeitzone der Datenbank in die Zeitzone des einzelnen Nutzers umgewandelt.

Weitere Informationen zu diesen Optionen finden Sie auf der Dokumentationsseite Zeitzoneneinstellungen verwenden.

Diese Konzepte sind wichtig, um die Markenbekanntheit zu verstehen. Damit eine aggregierte Tabelle für eine Abfrage mit Datumsdimensionen oder Datumsfiltern verwendet werden kann, muss die Zeitzone in der aggregierten Tabelle mit der Zeitzoneneinstellung der ursprünglichen Abfrage übereinstimmen.

Aggregierte Tabellen verwenden die Zeitzone der Datenbank, wenn kein timezone-Wert angegeben ist. Ihre Datenbankverbindung verwendet auch die Zeitzone der Datenbank, wenn eine der folgenden Bedingungen zutrifft:

  • Ihre Datenbank unterstützt keine Zeitzonen.
  • Die Zeitzone Ihrer Abfrage ist auf dieselbe Zeitzone wie die Zeitzone der Datenbank festgelegt.
  • Ihre Datenbankverbindung hat weder eine angegebene Abfragezeitzone noch nutzerspezifische Zeitzonen. In diesem Fall verwendet die Datenbankverbindung die Zeitzone der Datenbank.

Wenn eine dieser Aussagen zutrifft, können Sie den Parameter timezone für Ihre zusammengefassten Tabellen weglassen.

Andernfalls sollte die Zeitzone der aggregierten Tabelle so definiert werden, dass sie mit möglichen Abfragen übereinstimmt, damit die Tabelle mit höherer Wahrscheinlichkeit verwendet wird:

  • Wenn Ihre Datenbankverbindung eine einzelne Abfragezeitzone verwendet, sollten Sie den aggregierten Tabellenwert timezone mit dem Zeitzonenwert der Abfrage abgleichen.
  • Wenn Ihre Datenbankverbindung nutzerspezifische Zeitzonen verwendet, sollten Sie identische aggregierte Tabellen mit jeweils einem anderen timezone-Wert erstellen, der den Zeitzonen der Nutzer entspricht.

Looker kann keine zusammengefasste Tabelle für eine Abfrage „Erkunden“ verwenden, wenn die Zeitzone in der aggregierten Tabelle nicht mit der Zeitzone in der Abfrage übereinstimmt. Wenn die Datenbankverbindung nutzerspezifische Zeitzonen hat, ist für jede Zeitzone eines Nutzers eine eigene aggregierte Tabelle erforderlich.

Filterfaktoren

Seien Sie vorsichtig, wenn Sie Filter in Ihre zusammengefasste Tabelle aufnehmen. Wenn Sie die Filter in einer zusammengefassten Tabelle filtern, können Sie die Ergebnisse so eingrenzen, dass die zusammengefasste Tabelle unbrauchbar wird. Angenommen, Sie erstellen eine zusammengefasste Tabelle für die Anzahl der täglichen Bestellungen und die zusammengefasste Tabelle filtert nur nach Sonnenbrille aus Australien. Wenn ein Nutzer eine explorative Abfrage zur täglichen Bestellung der Sonnenbrille durchführt, kann Looker die zusammengefasste Tabelle für diese Abfrage nicht verwenden, da die zusammengefasste Tabelle nur die Daten für Australien enthält. In der zusammengefassten Tabelle werden die Daten zu stark eingeschränkt, um von der Abfrage „Erkunden“ verwendet zu werden.

Seien Sie sich auch der Filter bewusst, die Ihre Looker-Entwickler möglicherweise in Ihre Umgebung eingebunden haben, z. B.:

  • access_filters: Es werden nutzerspezifische Dateneinschränkungen angewendet.
  • always_filter: Nutzer müssen eine bestimmte Gruppe von Filtern für eine Abfrage des Typs „Erkunden“ hinzufügen. Nutzer können den Standardfilterwert für ihre Abfrage ändern, den Filter jedoch nicht vollständig entfernen.
  • conditionally_filter: Gibt eine Reihe von Standardfiltern an, die Nutzer überschreiben können, wenn sie mindestens einen Filter aus einer zweiten Liste anwenden, die ebenfalls in „Erkunden“ definiert ist.

Diese Filtertypen basieren auf bestimmten Feldern. Wenn die Funktion „Entdecken“ diese Filter hat, musst du ihre Felder in den Parameter dimensions von aggregate_table aufnehmen.

Hier ein Beispiel für einen „Erkunden“ mit einem Zugriffsfilter, der auf dem Feld orders.region basiert:

explore: orders {
  access_filter: {
    field: orders.region
    user_attribute: region
  }
}

Wenn Sie eine zusammengefasste Tabelle erstellen möchten, die für diesen Bericht verwendet wird, muss sie das Feld enthalten, auf dem der Zugriffsfilter basiert. Im nächsten Beispiel basiert der Zugriffsfilter auf dem Feld orders.region. Dieses Feld ist als Dimension in der zusammengefassten Tabelle enthalten:

explore: orders {
  access_filter: {
    field: orders.region  # <-- orders.region field
    user_attribute: region
  }
  aggregate_table: sales_monthly {
    materialization: {
      datagroup_trigger: orders_datagroup
    }
    query: {
      dimensions: [orders.created_day, orders.region] # <-- orders.region field
      measures: [orders.total_sales]
      timezone: America/Los_Angeles
    }
  }
}

Da die Abfrage der zusammengefassten Tabelle die Dimension orders.region enthält, kann Looker die Daten in der zusammengefassten Tabelle dynamisch so filtern, dass sie mit dem Filter aus der Abfrage „Erkunden“ übereinstimmen. Daher kann Looker weiterhin die zusammengefasste Tabelle für die Abfragen auf dem Tab „Erkunden“ verwenden, obwohl der Filter „Zugriff“ über einen Zugriffsfilter verfügt.

Das gilt auch für Suchanfragen, bei denen eine native abgeleitete Tabelle verwendet wird, die mit bind_filters konfiguriert ist. Der Parameter bind_filters übergibt die angegebenen Filter aus der Abfrage „Erkunden“ an die native abgeleitete Tabellenabfrage. Wenn für die Abfrage zum Aggregieren eine native abgeleitete Tabelle mit bind_filters erforderlich ist, kann für die Abfrage „Erkunden“ nur dann eine zusammengefasste Tabelle verwendet werden, wenn alle in der nativen abgeleiteten Tabelle verwendeten Parameter bind_filters genau dieselben Filterwerte wie in der zusammengefassten Tabelle haben.

Aggregierte Tabellen erstellen, die genau mit „Erkunden“-Abfragen übereinstimmen

Um sicherzustellen, dass eine zusammengefasste Tabelle für eine Abfrage „Erkunden“ verwendet werden kann, können Sie einfach eine zusammengefasste Tabelle erstellen, die genau mit der Abfrage „Erkunden“ übereinstimmt. Wenn für die Abfrage und die aggregierte Tabelle dieselben Messwerte, Dimensionen, Filter, Zeitzonen und andere Parameter verwendet werden, werden die Ergebnisse der zusammengefassten Tabelle per Definition auf die Abfrage angewendet. Wenn eine zusammengefasste Tabelle genau mit einer Abfrage vom Typ „Erkunden“ übereinstimmt, kann Looker zusammengefasste Tabellen verwenden, die eine beliebige Art von Maßeinheit enthalten.

Sie können eine zusammengefasste Tabelle aus einer explorativen Datenanalyse erstellen, indem Sie im Zahnradmenü der Funktion Erkunden die Option LookML abrufen verwenden. Sie können auch genaue Übereinstimmungen für alle Kacheln in einem Dashboard erstellen, indem Sie im Zahnradmenü eines Dashboards die Option LookML verwenden.

Ermitteln, welche zusammengefasste Tabelle für eine Abfrage verwendet wird

Nutzer mit see_sql-Berechtigungen können die Kommentare auf dem Tab SQL von „Entdecken“ verwenden, um zu sehen, welche zusammengefasste Tabelle für eine Abfrage verwendet wird. Die Kommentare auf dem Tab SQL werden auch im Entwicklungsmodus angezeigt, damit Entwickler neue zusammengefasste Tabellen testen können, um zu sehen, wie Looker sie verwendet, bevor Sie neue Tabellen in die Produktion übertragen.

Auf der Grundlage der zuvor gezeigten Beispieltabelle für den Monat können wir beispielsweise die Abfrage „Gesamtumsatz jährlich“ ausführen. Klicken Sie dann auf den Tab SQL, um die Details der von Looker erstellten Abfrage aufzurufen. Wenn Sie sich im Entwicklungsmodus befinden, zeigt Looker Kommentare an, um die zusammengefasste Tabelle anzugeben, die für die Abfrage verwendet wurde:

Aus den Kommentaren auf dem Tab SQL können wir entnehmen, dass Looker die zusammengefasste Tabelle sales_monthly für diese Abfrage verwendet und warum in der Abfrage keine anderen zusammengefassten Tabellen verwendet wurden:

-- use existing orders::sales_monthly in sandbox_scratch.LR$LB4151619827209021_orders$sales_monthly
-- Did not use orders::sales_weekly; it does not include the following fields in the query: orders.created_month
-- Did not use orders::sales_daily; orders::sales_monthly was a better fit for optimization.
-- Did not use orders::sales_last_3_days; contained filters not in the query: orders.created_date

Im Abschnitt Fehlerbehebung auf dieser Seite finden Sie Informationen zu möglichen Kommentaren auf dem Tab SQL sowie Vorschläge zur Behebung.

Geschätzte Kosteneinsparungen für die aggregierte Bekanntheit

Wenn Ihre Datenbankverbindung Kostenschätzungen unterstützt und eine zusammengefasste Tabelle für eine Abfrage verwendet werden kann, werden im Fenster „Erkunden“ die Recheneinsparungen durch die Verwendung der zusammengefassten Tabelle angezeigt, anstatt die Datenbank direkt abzufragen. Die zusammengefassten Einsparungen bei der Markenbekanntheit werden links neben der Schaltfläche Ausführen in einem explorativen Analysetool angezeigt, bevor die Abfrage ausgeführt wird:

Wenn Sie vor dem Ausführen der Abfrage wissen möchten, welche zusammengefasste Tabelle für die Abfrage verwendet werden soll, können Sie auf den Tab SQL klicken. Eine Anleitung dazu finden Sie im Abschnitt Bestimmen der aggregierten Tabelle für eine Abfrage auf dieser Dokumentationsseite.

Nach der Ausführung der Abfrage wird im Fenster „Erkunden“ angezeigt, mit welcher zusammengefassten Tabelle die Abfrage beantwortet wurde:

Einsparungen bei der Steigerung der Bekanntheit werden für Datenbankverbindungen angezeigt, für die Kostenschätzungen aktiviert sind. Weitere Informationen finden Sie auf der Dokumentationsseite Daten in Looker untersuchen.

Looker vereint neue Daten in den zusammengefassten Tabellen

Bei zusammengefassten Tabellen mit Zeitfiltern können Sie mit Looker aktuelle Daten in Ihrer aggregierten Tabelle zusammenführen. Möglicherweise haben Sie eine zusammengefasste Tabelle mit den Daten der letzten drei Tage, aber diese zusammengefasste Tabelle wurde möglicherweise gestern erstellt. In der zusammengefassten Tabelle fehlen die Informationen für heute. Sie würden sie also nicht für eine Erkundungsabfrage mit den aktuellsten täglichen Informationen verwenden.

Looker kann jedoch weiterhin die Daten in dieser aggregierten Tabelle für die Abfrage verwenden, da Looker eine Abfrage der aktuellen Daten ausführt und diese Ergebnisse dann in den Ergebnissen in der zusammengefassten Tabelle vereint.

Looker kann unter den folgenden Umständen Daten mit Ihren aggregierten Tabellendaten zusammenführen:

  • Die zusammengefasste Tabelle hat einen Zeitfilter.
  • Die aggregierte Tabelle enthält eine Dimension, die auf demselben Zeitfeld wie der Zeitfilter basiert.

Die folgende zusammengefasste Tabelle hat beispielsweise eine Dimension, die auf dem Feld orders.created_date basiert, und einen Zeitfilter ("3 days"), der auf demselben Feld basiert:

aggregate_table: sales_last_3_days {
  query:  {
    dimensions: [orders.created_date]
    measures: [order_items.total_sales]
    filters: [orders.created_date: "3 days"]  # <-- time filter
    timezone: America/Los_Angeles
  }
  ...
}

Wenn diese zusammengefasste Tabelle gestern erstellt wurde, ruft Looker die neuesten Daten ab, die noch nicht in der zusammengefassten Tabelle enthalten sind. Anschließend werden die neuen Ergebnisse mit den Ergebnissen aus der zusammengefassten Tabelle zusammengeführt. Das bedeutet, dass Ihre Nutzerinnen und Nutzer die neuesten Daten erhalten und gleichzeitig die Leistung durch zusammengefasste Bekanntheit optimieren.

Wenn Sie sich im Entwicklermodus befinden, können Sie auf den Tab SQL einer explorativen Datenanalyse klicken, um die zusammengefasste Tabelle aufzurufen, die Looker für die Abfrage verwendet hat, sowie die Anweisung UNION, mit der Looker neuere Daten eingeholt hat, die nicht in der zusammengefassten Tabelle enthalten waren.

Wenn Looker keine aktuellen Daten mit Ihrer aggregierten Tabelle vereinen kann, verwendet Looker die vorhandenen Daten aus der aggregierten Tabelle.

Aggregierte Tabellen müssen beibehalten werden

Damit die aggregierte Bekanntheit zugänglich wird, muss die zusammengefasste Tabelle in Ihrer Datenbank aufbewahrt werden. Die Persistenzstrategie wird im Parameter materialization der zusammengefassten Tabelle angegeben. Da die zusammengefassten Tabellen eine Art von persistenter abgeleiteter Tabelle (PDT) sind, haben zusammengefasste Tabellen dieselben Anforderungen wie PDTs. Weitere Informationen finden Sie auf der Dokumentationsseite Abgeleitete Tabellen in Looker.

Sie können in Ihrem Projekt inkrementelle PDTs erstellen, wenn diese von Ihrem Dialekt unterstützt werden. Looker erstellt inkrementelle PDTs, indem neue Daten an die Tabelle angehängt werden, anstatt die Tabelle vollständig neu zu erstellen. Da die zusammengefassten Tabellen selbst eine Art von PDT sind, können Sie auch inkrementelle aggregierte Tabellen erstellen. Weitere Informationen zu inkrementellen PDTs finden Sie auf der Dokumentationsseite Inkrementelle PDT. Ein Beispiel für eine inkrementelle aggregierte Tabelle finden Sie auf der Dokumentationsseite zum Parameter increment_key.

Ein Nutzer mit der Berechtigung develop kann die Persistenzeinstellungen überschreiben und alle aggregierten Tabellen für eine Abfrage neu erstellen, um die aktuellsten Daten zu erhalten. Wenn Sie die Tabellen für eine Abfrage neu erstellen möchten, verwenden Sie im Menü „Erkunden“ die Option Abgeleitete Tabellen & Ausführen.

Diese Option ist erst verfügbar, wenn die Explore-Abfrage geladen wurde.

Mit der Option Abgeleitete Tabellen &Ausführen werden alle abgeleiteten Tabellen neu erstellt, auf die in der Abfrage verwiesen wird, sowie alle abgeleiteten Tabellen, von denen die Tabellen in der Abfrage abhängen. Dazu gehören zusammengefasste Tabellen, die selbst eine Art von abgeleiteter abgeleiteter Tabelle sind.

Für den Nutzer, der die Option Abgeleitete Tabellen &ausführen startet, wartet die Abfrage, bis die Tabellen neu erstellt wurden, bevor die Ergebnisse geladen werden. Andere Nutzer verwenden die vorhandenen Tabellen weiterhin. Wenn die persistenten Tabellen erneut erstellt wurden, verwenden alle Benutzer die neu erstellten Tabellen.

Weitere Informationen zur Option Abgeleitete Tabellen &Ausführen finden Sie auf der Dokumentationsseite Abgeleitete Tabellen in Looker.

Fehlerbehebung

Wie im Abschnitt Bestimmen der für eine Abfrage verwendeten aggregierten Tabelle beschrieben, können Sie im Entwicklungsmodus Abfragen auf dem Tab „Erkunden“ ausführen und auf den Tab SQL klicken, um sich gegebenenfalls Kommentare zur aggregierten Tabelle anzusehen.

Auf dem Tab SQL finden Sie auch Kommentare dazu, warum für diese Abfrage keine zusammengefassten Tabellen verwendet wurden. Bei aggregierten Tabellen, die nicht verwendet werden, beginnt der Kommentar mit:

Did not use [explore name]::[aggregate table name];

Hier ein Beispiel dafür, warum die in der order_items-Tabelle definierte aggregierte Tabelle sales_daily nicht für eine Abfrage verwendet wurde:

-- Did not use order_items::sales_daily; query contained the following filters
that were neither included as fields nor exactly matched by filters in the aggregate table:
order_items.created_year.

In diesem Fall verhinderten die Filter in der Abfrage, dass die zusammengefasste Tabelle verwendet wurde.

Die folgende Tabelle enthält einige weitere mögliche Gründe, warum eine zusammengefasste Tabelle nicht verwendet werden kann, sowie Schritte, mit denen Sie die Nutzerfreundlichkeit der zusammengefassten Tabelle erhöhen können.

Grund für die fehlende Verwendung
der zusammengefassten Tabelle
Erläuterung und mögliche Schritte
Das Feld „Erkunden“ enthält kein solches Feld. Ein LookML-Validierungstypfehler ist aufgetreten. Das liegt wahrscheinlich daran, dass die zusammengefasste Tabelle nicht richtig definiert wurde oder die LookML-Tabelle einen Tippfehler enthält. Eine mögliche Ursache ist ein falscher Feldname oder Ähnliches.

Um das Problem zu beheben, überprüfen Sie, ob die Dimensionen und Messwerte in der zusammengefassten Tabelle mit den Feldnamen in der Tabelle „Erkunden“ übereinstimmen. Weitere Informationen zum Definieren einer aggregierten Tabelle finden Sie auf der Dokumentationsseite zum Parameter aggregate_table.
Die zusammengefasste Tabelle enthält die folgenden Felder nicht in der Abfrage. Damit eine zusammengefasste Tabelle für eine Abfrage „Erkunden“ verwendet werden kann, muss sie alle Dimensionen und Messwerte enthalten, die für diese Abfrage erforderlich sind. Dazu gehören auch die Felder für Filter in der Abfrage „Erkunden“. Wenn eine Abfrage vom Typ „Erkunden“ eine Dimension oder ein Maß enthält, das sich nicht in einer zusammengefassten Tabelle befindet, kann Looker nicht die zusammengefasste Tabelle und stattdessen die Basistabelle verwenden. Weitere Informationen finden Sie auf dieser Seite im Abschnitt Feldfaktoren. Die einzige Ausnahme sind Dimensionen für den Zeitraum, da gröbere Detaillierungszeiträume von feineren Detaillierungsgraden abgeleitet werden können.

Überprüfen Sie in der zusammengefassten Tabellendefinition, ob die Felder der Abfrage „Erkunden“ in dieser Tabelle enthalten sind.
Die Abfrage enthielt die folgenden Filter, die weder als Felder enthalten waren noch exakt mit Filtern in der zusammengefassten Tabelle übereinstimmten. Die Filter in der Abfrage „Erkunden“ verhindern, dass Looker die zusammengefasste Tabelle verwendet.

Sie haben folgende Möglichkeiten, das Problem zu beheben:
  • Fügen Sie der zusammengefassten Tabelle denselben Filter hinzu.
  • Fügen Sie das Feld, das der Filter verwendet, Ihrer zusammengefassten Tabelle hinzu.
  • Entfernen Sie die Filter aus der Abfrage „Erkunden“.
Weitere Informationen finden Sie im Abschnitt Filterfaktoren auf dieser Seite.
Die Abfrage enthält die folgenden Messwerte, die nicht zusammengefasst werden können. Die Abfrage enthält einen oder mehrere Messtypen, die für die aggregierte Markenbekanntheit nicht unterstützt werden, z. B. unterschiedliche Anzahl, Medianwert oder Perzentil.

Um dieses Problem zu beheben, prüfen Sie, welche Arten von Messwerten in der Abfrage zu den unterstützten Messwerttypen gehören. Wenn Ihr Explore mit Joins verknüpft ist, überprüfen Sie außerdem, ob Ihre Messwerte durch aufgefächerte Joins in verschiedene Messwerte (symmetrische Aggregationen) umgewandelt wurden. Eine Erklärung finden Sie im Abschnitt Symmetrische Aggregationen für „Erkunden“ mit Joins auf dieser Seite.
Für die Optimierung war eine andere zusammengefasste Tabelle besser geeignet. Es gab mehrere zulässige zusammengefasste Tabellen für die Abfrage und Looker hat eine bessere zusammengefasste Tabelle gefunden, die stattdessen verwendet werden kann. Sie müssen in diesem Fall nichts unternehmen.
Looker hat aufgrund eines primary_key- oder cancel_grouping_fields-Parameters keine Gruppierung durchgeführt und daher kann die Abfrage nicht zusammengefasst werden. Die Abfrage verweist auf eine Dimension, die verhindert, dass sie eine GROUP BY-Klausel enthält. Daher kann Looker keine zusammengefasste Tabelle für die Abfrage verwenden.

Überprüfen Sie die Einstellungen der Datenansicht primary_key und des Parameters cancel_grouping_fields, um die Probleme zu beheben.
Die zusammengefasste Tabelle enthielt Filter, die nicht in der Abfrage enthalten sind. Die zusammengefasste Tabelle hat einen Filter ohne Zeitangabe, der nicht in der Abfrage enthalten ist.

Um dieses Problem zu beheben, können Sie den Filter aus der zusammengefassten Tabelle entfernen. Weitere Informationen finden Sie auf dieser Seite im Abschnitt Filterfaktoren.
Ein Feld ist in der Abfrage „Erkunden“ als reines Filterfeld definiert, ist aber im Parameter dimensions der zusammengefassten Tabelle aufgeführt. Der Parameter dimensions der aggregierten Tabelle enthält ein Feld, das in der Abfrage „Erkunden“ nur als filter-Feld definiert ist.

Um dieses Problem zu beheben, entfernen Sie das Feld aus der Liste dimensions der zusammengefassten Tabelle. Wenn dieses Feld für die zusammengefasste Tabelle erforderlich ist, fügen Sie es der Liste filters in der Abfrage der aggregierten Tabelle hinzu.
Die Optimierung kann nicht ermitteln, warum die zusammengefasste Tabelle nicht verwendet wurde. Dieser Kommentar ist für Sonderfälle reserviert. Wenn Sie die Abfrage für eine „Erkunden“-Abfrage sehen, die häufig verwendet wird, können Sie eine zusammengefasste Tabelle erstellen, die genau mit der Abfrage „Erkunden“ übereinstimmt. Sie können die LookML-Tabelle ganz einfach über die Funktion „Erkunden“ aufrufen, wie auf der Parameterseite aggregate_table beschrieben.

Wichtige Punkte

Symmetrische Aggregationen für „Erkunden“ mit Joins

Beachten Sie, dass in Looker, die mehrere Datenbanktabellen verbindet, Messwerte vom Typ SUM, COUNT und AVERAGE als SUM DISTINCT, COUNT DISTINCT bzw. AVERAGE DISTINCT gerendert werden können. Dies erfolgt in Looker, um Fehlkalkulationen zu vermeiden. Beispielsweise wird ein count-Messwert als count_distinct-Messwerttyp gerendert. Dadurch werden Fehlkalkulationen für Joins vermieden und die Funktion ist Teil der symmetrischen Aggregatfunktion von Looker. Eine Erläuterung zu Looker-Funktion finden Sie im Hilfeartikel zu symmetrischen Aggregationen.

Die symmetrische Aggregatfunktionalität verhindert Fehlkalkulationen, kann aber auch verhindern, dass Ihre zusammengefassten Tabellen in bestimmten Fällen verwendet werden.

Für die Messtypen, die von der aggregierten Bekanntheit unterstützt werden, gilt dies für sum, count und average. In folgenden Fällen rendert Looker diese Arten von Messwerten als DISTINCT:

Eine Erläuterung zu diesen Join-Typen finden Sie auf der Dokumentationsseite zum Parameter relationship.

Wenn Sie feststellen, dass Ihre zusammengefasste Tabelle aus diesem Grund nicht verwendet wird, können Sie eine zusammengefasste Tabelle erstellen, die genau mit einer Abfrage vom Typ „Erkunden“ übereinstimmt. So können Sie diese Messwerttypen für eine Analyse mit Joins verwenden. Weitere Informationen finden Sie auf dieser Seite im Abschnitt Aggregierte Tabellen erstellen, die genau mit „Abfragen untersuchen“ übereinstimmen.

Wenn Sie einen SQL-Dialekt haben, der HyperLogLog-Skizzen unterstützt, können Sie dem Messwert auch den Parameter allow_approximate_optimization: yes hinzufügen. Wenn ein Zählermesswert mit allow_approximate_optimization: yes definiert ist, kann Looker das Maß für die aggregierte Bekanntheit verwenden, auch wenn es sich um eine eigene Anzahl handelt.

Weitere Informationen und eine Liste der SQL-Dialekte, die HyperLogLog-Skizzen unterstützen, finden Sie in der Dokumentation zum Parameter allow_approximate_optimization.

Dialektunterstützung für aggregierte Bekanntheit

Die Möglichkeit, Aggregate Awareness zu nutzen, hängt von dem Datenbankdialekt ab, den Ihre Looker-Verbindung verwendet. In der neuesten Version von Looker unterstützen die folgenden Dialekte die aggregierte Bekanntheit:

Die Legacy-SQL-Version von Google BigQuery unterstützt die aggregierte Bekanntheit, unterstützt jedoch nicht das Zusammenführen aktueller Daten mit den aggregierten Tabellendaten.

Dialektunterstützung für das inkrementelle Erstellen von zusammengefassten Tabellen

Damit in Looker inkrementelle zusammengefasste Tabellen in Ihrem Looker-Projekt unterstützt werden können, muss das auch mit Ihrem Datenbankdialekt möglich sein. In der folgenden Tabelle sehen Sie, welche Dialekte in der neuesten Version von Looker sowohl zusammengefasste Tabellen unterstützen als auch inkrementelle PDTs erstellen: