autogenerate_primary_keys

Utilizzo

  autogenerate_primary_keys: yes
Gerarchia
autogenerate_primary_keys

- o -

autogenerate_primary_keys
Valore predefinito
No

Regole speciali

Definizione

Quando il parametro autogenerate_primary_keys è abilitato, Looker genera una chiave temporanea e distinta per una visualizzazione quando non ne viene definita una in modo esplicito in LookML. La chiave primaria generata automaticamente consente di calcolare correttamente gli aggregati simmetrici e i conteggi uno-a-molti senza apportare modifiche alla tabella del database sottostante. La chiave primaria viene generata in fase di esecuzione della query; non viene mantenuta tra le query.

Il parametro autogenerate_primary_keys è supportato sia per le visualizzazioni sia per le esplorazioni:

  • Per le visualizzazioni, se definisci la visualizzazione con autogenerate_primary_keys: yes, Looker genera una chiave primaria per le query sulla visualizzazione in cui è necessaria una chiave primaria per evitare di duplicare le righe. Se aggiungi autogenerate_primary_keys: yes a una visualizzazione che ha già un campo definito come chiave primaria, l'IDE di Looker visualizza un avviso di convalida LookML.
  • Per le esplorazioni, se definisci l'esplorazione con autogenerate_primary_keys: yes, Looker genera una chiave primaria per ciascuna delle visualizzazioni dell'esplorazione richieste per una query di esplorazione in cui è necessaria una chiave primaria per evitare di duplicare le righe:

    • Looker genera chiavi primarie solo per le visualizzazioni nell'esplorazione che non hanno un campo definito con primary_key: yes. Se una visualizzazione ha un campo definito con primary_key: yes, Looker utilizza la chiave primaria della visualizzazione.
    • Looker genera una chiave primaria per la visualizzazione di un'esplorazione solo quando viene eseguita una query sulla visualizzazione tramite l'esplorazione. Se viene eseguita una query sulla stessa visualizzazione tramite un'esplorazione diversa non definita con autogenerate_primary_keys: yes e la visualizzazione stessa non è definita con autogenerate_primary_keys: yes, Looker non genererà una chiave primaria per la visualizzazione.

Esempio

Di seguito è riportata un'esplorazione orders che unisce una visualizzazione order_items. L'esplorazione è definita con autogenerate_primary_keys: yes:

explore: orders {
  autogenerate_primary_keys: yes
  join: order_items {
    sql_on: ${orders.id} = ${order_items.order_id} ;;
    relationship: one_to_many
  }
}

Per le query sull'esplorazione orders che richiedono aggregati simmetrici o calcoli in cui le righe di una visualizzazione potrebbero essere duplicate, Looker genera automaticamente una chiave distinta per le visualizzazioni orders o order_items.

Cose da sapere

Tieni presente quanto segue sull'utilizzo di autogenerate_primary_keys: yes:

  • L'abilitazione di autogenerate_primary_keys può modificare il comportamento delle query esistenti. Le misure che Looker in precedenza doveva eliminare dalle query a causa di una chiave primaria mancante verranno ora incluse nei risultati, il che potrebbe essere una modifica che causa interruzioni per alcuni report.
  • La generazione automatica delle chiavi primarie potrebbe aumentare il tempo di query a causa del calcolo aggiuntivo richiesto.
  • Quando Looker genera una chiave primaria per una query, questa è una chiave primaria di runtime temporanea che non può essere selezionata o visualizzata in un'esplorazione.

Supporto dei dialetti per autogenerate_primary_keys

La possibilità di utilizzare autogenerate_primary_keys dipende dal dialetto del database utilizzato dalla connessione Looker. Nell'ultima release di Looker, i seguenti dialetti supportano autogenerate_primary_keys:

  • SQL standard di Google BigQuery
  • Amazon Redshift
  • Amazon Redshift 2.1 e versioni successive
  • Amazon Redshift Serverless 2.1 e versioni successive
  • Google Cloud PostgreSQL
  • Greenplum
  • Microsoft Azure PostgreSQL
  • MySQL 8.0.12 e versioni successive
  • Versioni precedenti a PostgreSQL 9.5