Accéder au contenu principal Passer au contenu complémentaire

Clés synthétiques

Lorsque plusieurs tables internes comportent deux champs ou plus en commun, il s'agit d'une relation de clé composée. QlikView gère cette relation en créant automatiquement des clés synthétiques. Ces clés sont des champs anonymes qui représentent toutes les combinaisons existantes de la clé composée.

Si vous recevez un avertissement concernant les clés synthétiques lors du chargement de données, il est recommandé de vérifier la structure des données dans le visionneur de tables. Assurez-vous que le modèle de données est correct. Il se peut qu'il soit correct, mais que la présence d'une clé synthétique s'explique par une erreur dans le script, ce qui arrive relativement fréquemment.

La présence de plusieurs clés synthétiques est souvent le signe d'un modèle de données incorrect, mais pas nécessairement. Néanmoins, la présence de clés synthétiques basées sur d'autres clés synthétiques constitue un signe certain de modèle de données incorrect.

Note AvertissementLorsque le nombre de clés synthétiques augmente, en fonction de la quantité de données, de la structure des tables et d'autres facteurs, QlikView ne parvient pas toujours à les gérer de manière efficace, ce qui peut finir par prendre beaucoup de temps et/ou utiliser une grande quantité de mémoire. Dans ce cas, vous devez remanier le script en supprimant toutes les clés synthétiques.

Two tables, IntervalMatchLength and LengthRange, have the Start and End fields in common. They are connected by the $Syn 1 field, which leads to the $Syn 1 Table, which contains only $Syn 1 and Start and End.

Gestion des clés synthétiques

Si vous devez éviter l'utilisation de clés synthétiques, il existe différentes façons de résoudre ce problème dans le script de chargement :

  • Vérifiez que seuls des champs reliant deux tables de façon logique sont utilisés comme clés.

    • Des champs tels que « Commentaire », « Remarque » et « Description » peuvent exister dans plusieurs tables sans être liés et ne doivent donc pas être utilisés comme clés.
    • Des champs tels que « Date », « Société » et « Nom » peuvent exister dans plusieurs tables et avoir des valeurs identiques, mais néanmoins jouer des rôles différents (Date de commande/Date d'expédition, Société du client/Société du fournisseur). Dans ce cas, ils ne doivent pas être utilisés comme clés.
  • Vérifiez l'absence de champs redondants, c.-à-d. que seuls les champs nécessaires sont reliés. Par exemple, si une date est utilisée comme clé, veillez à ne pas charger l'année, le mois ou le jour du mois de la même date à partir de plusieurs tables internes.

  • Le cas échéant, formez vos propres clés non composées, généralement au moyen de la concaténation de chaînes dans une fonction de script AutoNumber.

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !

Rejoignez le Programme de modernisation analytique

Remove banner from view

Modernisez votre système sans compromettre vos précieuses applications QlikView grâce au Programme de modernisation analytique. Cliquez ici pour plus d'informations ou contactez : ampquestions@qlik.com