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 è attivato, Looker genera una chiave temporanea e distinta per una vista quando non è definita esplicitamente 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 e non viene mantenuta tra le query.
Il parametro autogenerate_primary_keys è supportato sia per le visualizzazioni che per gli Explore:
- Per le viste, se definisci la vista con
autogenerate_primary_keys: yes, Looker genera una chiave primaria per le query sulla vista in cui è necessaria una chiave primaria per evitare di duplicare le righe. Se aggiungiautogenerate_primary_keys: yesa una visualizzazione in cui è già definito un campo come chiave primaria, l'IDE di Looker mostra un avviso di convalida di LookML. Per le esplorazioni, se definisci l'esplorazione con
autogenerate_primary_keys: yes, Looker genera una chiave primaria per ciascuna delle visualizzazioni dell'esplorazione necessarie 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 conprimary_key: yes, Looker utilizza la chiave primaria della visualizzazione. - Looker genera una chiave primaria per la visualizzazione di un'esplorazione solo quando la visualizzazione viene interrogata tramite l'esplorazione. Se la stessa vista viene interrogata tramite un'esplorazione diversa non definita con
autogenerate_primary_keys: yese la vista stessa non è definita conautogenerate_primary_keys: yes, Looker non genera una chiave primaria per la vista.
- Looker genera chiavi primarie solo per le visualizzazioni nell'esplorazione che non hanno un campo definito con
Esempio
Ecco 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 su orders Esplora che richiedono aggregazioni simmetriche o calcoli in cui le righe di una vista possono essere duplicate, Looker genera automaticamente una chiave distinta per le viste orders o order_items.
Cose da sapere
Tieni presente quanto segue sull'utilizzo di autogenerate_primary_keys: yes:
- L'attivazione di
autogenerate_primary_keyspuò modificare il comportamento delle query esistenti. Le misure che in precedenza Looker doveva eliminare dalle query a causa di una chiave primaria mancante verranno ora incluse nei risultati, il che potrebbe rappresentare una modifica che causa errori per alcuni report. - La generazione automatica delle chiavi primarie potrebbe aumentare il tempo di esecuzione delle 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+
- Amazon Redshift Serverless 2.1+
- Google Cloud PostgreSQL
- Greenplum
- Microsoft Azure PostgreSQL
- MySQL 8.0.12 e versioni successive
- Versioni precedenti a PostgreSQL 9.5