Utilisation
autogenerate_primary_keys: yes
|
Hiérarchie
autogenerate_primary_keys- ou - autogenerate_primary_keys |
Valeur par défaut
Non
Règles spéciales
|
Définition
Lorsque le paramètre autogenerate_primary_keys est activé, Looker génère une clé temporaire et distincte pour une vue lorsqu'aucune n'est explicitement définie dans votre LookML. La clé primaire générée automatiquement permet de calculer correctement les agrégats symétriques et les comptages un-à-plusieurs sans modifier le tableau de base de données sous-jacent. La clé primaire est générée au moment de l'exécution de la requête. Elle n'est pas conservée d'une requête à l'autre.
Le paramètre autogenerate_primary_keys est compatible avec les vues et les explorations :
- Pour les vues, si vous définissez la vue avec
autogenerate_primary_keys: yes, Looker génère une clé primaire pour les requêtes sur la vue lorsqu'une clé primaire est nécessaire pour éviter de dupliquer les lignes. Si vous ajoutezautogenerate_primary_keys: yesà une vue qui comporte déjà un champ défini comme clé primaire, l'IDE Looker affiche un avertissement de validation LookML. Pour les explorations, si vous définissez l'exploration avec
autogenerate_primary_keys: yes, Looker génère une clé primaire pour chacune des vues de l'exploration requises pour une requête d'exploration où une clé primaire est nécessaire pour éviter de dupliquer les lignes :- Looker ne génère des clés primaires que pour les vues de l'exploration qui ne comportent pas de champ défini avec
primary_key: yes. Si une vue comporte un champ défini avecprimary_key: yes, Looker utilise la clé primaire de la vue. - Looker génère une clé primaire pour la vue d'une exploration uniquement lorsque la vue est interrogée via cette exploration. Si la même vue est interrogée via une autre exploration qui n'est pas définie avec
autogenerate_primary_keys: yeset que la vue elle-même n'est pas définie avecautogenerate_primary_keys: yes, Looker ne génère pas de clé primaire pour la vue.
- Looker ne génère des clés primaires que pour les vues de l'exploration qui ne comportent pas de champ défini avec
Exemple
Voici une exploration orders qui joint une vue order_items. L'exploration est définie avec 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
}
}
Pour les requêtes sur l'onglet orders Explorer qui nécessitent des agrégats symétriques ou des calculs où les lignes d'une vue peuvent être dupliquées, Looker génère automatiquement une clé distincte pour les vues orders ou order_items.
Bon à savoir
Voici quelques remarques concernant l'utilisation de autogenerate_primary_keys: yes :
- L'activation de
autogenerate_primary_keyspeut modifier le comportement de vos requêtes existantes. Les mesures que Looker devait auparavant supprimer des requêtes en raison d'une clé primaire manquante seront désormais incluses dans les résultats, ce qui pourrait entraîner des modifications incompatibles pour certains rapports. - La génération automatique de clés primaires peut augmenter le temps de requête en raison du calcul supplémentaire requis.
- Lorsque Looker génère une clé primaire pour une requête, il s'agit d'une clé primaire d'exécution temporaire qui ne peut pas être sélectionnée ni visualisée dans une exploration.
Prise en charge des dialectes pour autogenerate_primary_keys
La possibilité d'utiliser autogenerate_primary_keys dépend du dialecte de base de données de votre connexion Looker. Dans la dernière version de Looker, les dialectes suivants sont compatibles avec autogenerate_primary_keys :
- SQL standard de Google BigQuery
- Amazon Redshift
- Amazon Redshift 2.1 ou version ultérieure
- Amazon Redshift Serverless 2.1 ou version ultérieure
- Google Cloud PostgreSQL
- Greenplum
- Microsoft Azure PostgreSQL
- MySQL 8.0.12 ou version ultérieure
- PostgreSQL antérieur à la version 9.5