Nutzung
autogenerate_primary_keys: yes
|
Hierarchie
autogenerate_primary_keys- oder - autogenerate_primary_keys |
Standardwert
Nein
Sonderregeln
|
Definition
Wenn der Parameter autogenerate_primary_keys aktiviert ist, generiert Looker einen temporären, eindeutigen Schlüssel für eine Ansicht, wenn in Ihrem LookML-Code kein Schlüssel explizit definiert ist. Mit dem automatisch generierten Primärschlüssel können symmetrische Aggregate und 1:n-Zählungen korrekt berechnet werden, ohne dass Änderungen an der zugrunde liegenden Datenbanktabelle erforderlich sind. Der Primärschlüssel wird zur Abfragezeit generiert und ist nicht abfrageübergreifend.
Der Parameter autogenerate_primary_keys wird sowohl für Ansichten als auch für Explores unterstützt:
- Wenn Sie die Ansicht mit
autogenerate_primary_keys: yesdefinieren, generiert Looker einen Primärschlüssel für Abfragen für die Ansicht, bei denen ein Primärschlüssel erforderlich ist, um doppelte Zeilen zu vermeiden. Wenn Sieautogenerate_primary_keys: yeszu einer Ansicht hinzufügen, für die bereits ein Feld als Primärschlüssel definiert ist, wird in der Looker-IDE eine LookML-Validierungswarnung angezeigt. Wenn Sie den Explore mit
autogenerate_primary_keys: yesdefinieren, generiert Looker einen Primärschlüssel für jede Ansicht des Explore, die für eine Explore-Abfrage erforderlich ist, bei der ein Primärschlüssel benötigt wird, um doppelte Zeilen zu vermeiden:- Looker generiert Primärschlüssel nur für die Ansichten im Explore, für die kein Feld mit
primary_key: yesdefiniert ist. Wenn für eine Ansicht ein Feld mitprimary_key: yesdefiniert ist, verwendet Looker den Primärschlüssel der Ansicht. - Looker generiert nur dann einen Primärschlüssel für die Ansicht eines Explore, wenn die Ansicht über diesen Explore abgefragt wird. Wenn dieselbe Ansicht über einen anderen Explore abgefragt wird, der nicht mit
autogenerate_primary_keys: yesdefiniert ist, und die Ansicht selbst nicht mitautogenerate_primary_keys: yesdefiniert ist, generiert Looker keinen Primärschlüssel für die Ansicht.
- Looker generiert Primärschlüssel nur für die Ansichten im Explore, für die kein Feld mit
Beispiel
Hier ist ein orders-Explore, in dem eine order_items-Ansicht verknüpft ist. Der Explore ist mit autogenerate_primary_keys: yes definiert:
explore: orders {
autogenerate_primary_keys: yes
join: order_items {
sql_on: ${orders.id} = ${order_items.order_id} ;;
relationship: one_to_many
}
}
Für Abfragen für den orders-Explore, die symmetrische Aggregate oder Berechnungen erfordern, bei denen Zeilen aus einer Ansicht dupliziert werden können, generiert Looker automatisch einen eindeutigen Schlüssel für die Ansichten orders oder order_items.
Wichtige Punkte
Beachten Sie Folgendes zur Verwendung von autogenerate_primary_keys: yes:
- Wenn Sie
autogenerate_primary_keysaktivieren, kann sich das Verhalten Ihrer vorhandenen Abfragen ändern. Messwerte, die Looker zuvor aufgrund eines fehlenden Primärschlüssels aus Abfragen entfernen musste, werden jetzt in die Ergebnisse aufgenommen. Dies kann für einige Berichte eine Breaking Change sein. - Die automatische Generierung von Primärschlüsseln kann die Abfragezeit aufgrund der zusätzlichen Berechnungen verlängern.
- Wenn Looker einen Primärschlüssel für eine Abfrage generiert, ist dieser Primärschlüssel ein temporärer Laufzeit-Primärschlüssel, der in einem Explore nicht ausgewählt oder visualisiert werden kann.
Dialektunterstützung für autogenerate_primary_keys
Die Möglichkeit, autogenerate_primary_keys zu verwenden, hängt vom Datenbankdialekt ab, der von Ihrer Looker-Verbindung verwendet wird. In der neuesten Version von Looker unterstützen die folgenden Dialekte autogenerate_primary_keys:
- Google BigQuery-Standard-SQL
- Amazon Redshift
- Amazon Redshift 2.1 und höher
- Amazon Redshift Serverless 2.1 und höher
- Google Cloud PostgreSQL
- Greenplum
- Microsoft Azure PostgreSQL
- MySQL 8.0.12 und höher
- PostgreSQL vor Version 9.5