Warum werden meine Messungen nicht durch einen Join erfasst?

Sie haben einige Messungen in einer Ansicht definiert. Wenn Sie diese Ansicht jedoch mit einer anderen Ansicht verknüpfen, werden die Messungen in einem Explore nicht mehr angezeigt. Wo sind die Maßnahmen hin?

Mögliche Ursachen und Lösungen

Die möglichen Ursachen hängen davon ab, ob Sie symmetrische Summen aktiviert haben. Symmetrische Zusammenfassungen sind automatisch aktiviert, es sei denn, Ihr Entwickler hat sie über die LookML-Einstellung symmetric_aggregates: no deaktiviert oder Ihr Datenbankdialekt unterstützt symmetrische Summen nicht.

Wenn symmetrische Summen aktiviert sind

Symmetrische Summen ermöglichen die Verwendung von Joins aller Arten von Messwerten. Dies ist jedoch nur möglich, wenn in den Ansichten auf beiden Seiten eines Joins Primärschlüssel definiert sind. Damit Messungen über Joins übertragen werden können, müssen Sie in allen beteiligten Ansichten einen Primärschlüssel definieren.

Sie können in jeder Ansicht einen Primärschlüssel definieren. Dazu fügen Sie der Definition des Primärschlüsselfelds primary_key: yes so hinzu:

dimension: id {
 type: number
 primary_key: yes
}

Primärschlüssel müssen für die Messwerttypen sum und average vollständig eindeutige Werte haben, die keine NULL sind, um Joins zu übertragen. Wenn Ihr Primärschlüssel nicht eindeutig ist, erhalten Sie möglicherweise eine Fehlermeldung wie die folgende:

Non-Unique value/primary key (or sql_distinct_key), value overflow or collision when computing sum.

Wenn es in Ihrer Ansicht kein einzelnes eindeutiges Feld gibt, können Sie außerdem einen zusammengesetzten Primärschlüssel erstellen, indem Sie zwei oder mehr Felder in SQL verketten, um eine eindeutige Wertekombination zu erstellen. Weitere Informationen zur Behebung dieses Fehlers finden Sie auf der Seite mit Best Practices für Error: Non-Unique value/primary key (or sql_distinct_key), value overflow or collision when computing sum im Abschnitt Nicht eindeutiger Primärschlüssel.

Wenn symmetrische Summen nicht aktiviert sind

Einige Dialekte unterstützen keine symmetrischen Summen oder Ihr Looker-Entwickler hat symmetrische Summen mit der LookML-Einstellung symmetric_aggregates: no deaktiviert. Wenn keine symmetrischen aggregierten Daten verwendet werden können, werden in Looker standardmäßig nur Messungen des Typs count (die zu Anzahl separater Messungen werden) über einen Join verwendet. Dieser Ansatz erfordert auch einen Primärschlüssel, da bei der Anzahl der unterschiedlichen Werte der Primärschlüssel verwendet wird. Dies verhindert ungenaue Ergebnisse und Fanouts. Sehen Sie sich den Communitybeitrag zum Thema Fehlerhafte Aggregatfunktionen an.

In der aktuellen Looker-Version ist eine Liste aufgeführt, die zeigt, welche Dialekte symmetrische Summen unterstützen.

Weitere mögliche Lösungen

  • Die Verwendung von fields (für Joins) auf Join-Ebene. Mit fields können Sie angeben, welche Felder (Messungen, Dimensionen) aus einer verbundenen Ansicht in einem Explore angezeigt werden sollen.
  • Auswahl des richtigen relationship-Parameters Der Parameter relationship teilt Looker mit, ob symmetrische Summen angewendet werden sollen, wenn der Join in einer SQL-Abfrage verwendet wird. Es ist wichtig, den Typ der Beziehung richtig zu definieren, damit Looker genaue Messwerte berechnen kann.