autogenerate_primary_keys

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: yes definieren, 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 Sie autogenerate_primary_keys: yes einer 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: yes definieren, 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: yes definiert ist. Wenn für eine Ansicht ein Feld mit primary_key: yes definiert 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: yes definiert ist, und die Ansicht selbst nicht mit autogenerate_primary_keys: yes definiert ist, wird in Looker kein Primärschlüssel für die Ansicht generiert.

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_keys aktivieren, 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