Nutzung
autogenerate_primary_keys: yes
|
Hierarchie
autogenerate_primary_keys– oder – autogenerate_primary_keys |
Standardwert
Nein
Besondere Regeln
|
Definition
Wenn der Parameter autogenerate_primary_keys aktiviert ist, generiert Looker einen temporären, eindeutigen Schlüssel für eine View, wenn in Ihrem LookML 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 Laufzeit der Abfrage generiert und ist nicht abfrageübergreifend verfügbar.
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 für Abfragen für die Ansicht, für die ein Primärschlüssel erforderlich ist, um doppelte Zeilen zu vermeiden, einen Primärschlüssel. Wenn Sieautogenerate_primary_keys: yeseiner Ansicht hinzufügen, in der 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 für jede der Ansichten des Explores, die für eine Explore-Abfrage erforderlich sind, einen Primärschlüssel, 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 einen Primärschlüssel für die Ansicht eines Explores nur, wenn die Ansicht über dieses 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, wird in Looker kein Primärschlüssel für die Ansicht generiert.
- Looker generiert Primärschlüssel nur für die Ansichten im Explore, für die kein Feld mit
Beispiel
Hier sehen Sie ein orders-Explore, in dem eine order_items-Ansicht verknüpft wird. Die explorative Datenanalyse wird 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
}
}
Bei 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 bestehenden Abfragen ändern. Messwerte, die Looker zuvor aufgrund eines fehlenden Primärschlüssels aus Abfragen entfernen musste, werden jetzt in die Ergebnisse aufgenommen. Das kann für einige Berichte eine wichtige Änderung sein. - Das automatische Generieren von Primärschlüsseln kann die Abfragezeit aufgrund der zusätzlichen erforderlichen 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, den Ihre Looker-Verbindung verwendet. In der aktuellen Version von Looker unterstützen die folgenden Dialekte autogenerate_primary_keys:
- Google BigQuery-Standard-SQL
- Amazon Redshift
- Amazon Redshift 2.1+
- Amazon Redshift Serverless 2.1+
- Google Cloud PostgreSQL
- Greenplum
- Microsoft Azure PostgreSQL
- MySQL 8.0.12 und höher
- PostgreSQL vor Version 9.5