autogenerate_primary_keys

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: yes definieren, 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 Sie autogenerate_primary_keys: yes zu 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: yes definieren, 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: 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 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: yes definiert ist, und die Ansicht selbst nicht mit autogenerate_primary_keys: yes definiert ist, generiert Looker keinen Primärschlüssel für die Ansicht.

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