autogenerate_primary_keys

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 ajoutez autogenerate_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 avec primary_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: yes et que la vue elle-même n'est pas définie avec autogenerate_primary_keys: yes, Looker ne génère pas de clé primaire pour la vue.

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_keys peut 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