Association de tables
L'association de tables vous permet de combiner jusqu'à 18 tables Analytics dont les structures d'enregistrement sont différentes, d'accéder aux données de toute combinaison de champs dans les tables associées et de les analyser comme si elles existaient dans une seule et même table.
Les structures d'enregistrement sont différentes si elles possèdent un ou plusieurs champs (éléments de données) qui diffèrent. L'association est tout à fait appropriée pour le travail informatif qui nécessite une image rapide des associations de données entre plusieurs tables physiques ou pour lier des codes aux noms complets correspondants avant de générer des rapports.
Exemple
Scénario
Vous voulez créer un rapport des ventes qui contient des détails sur les clients et les produits vendus au cours du mois de mars, mais les données sont réparties sur trois tables.
Approche
Vous associez la table maître Client à la table Commandes, et cette dernière a la table maître Produit, pour créer une association temporaire des tables contenant toutes les informations nécessaires au rapport :
- l'emplacement et le nom du client depuis la table maître Client
- le détail des commandes depuis la table Commandes
- les détails du produit depuis la table maître Produit
L'association crée une table « virtuelle »
Le résultat de l'association des tables est virtuel ; les tables associées restent indépendantes et leur association peut être supprimée à tout moment.
Contrairement à la jonction ou à la fusion, l'association ne crée pas de table. En revanche, les champs de la ou des tables associées ou enfant sont disponibles dans la table parent à partir de laquelle la relation a été créée.
Si nécessaire, vous pouvez effectuer une opération distincte et extraire une combinaison de champs des tables parent et enfant vers une nouvelle table.
Associer des tables à l'aide d'un champ clé commun
Vous associez les tables à l'aide d'un champ clé commun, c'est-à-dire un élément de données tel qu'un numéro d'employé, un ID fournisseur ou un adresse qui apparaît dans les deux tables. Si des valeurs identiques existent dans les champs clés, le résultat est une correspondance qui associe les enregistrements individuels des tables distinctes. Un rapprochement partiel n'est pas pris en charge par l'opération d'association de base.
Plusieurs conditions s'appliquent aux champs clés dans les tables que vous associez :
| Caractéristique des champs clés | Condition préalable |
|---|---|
| Élément de données | Doivent être identiques. Par exemple, les deux champs clés sont des champs de numéros d'employés. |
| Type de données |
Il peut s'agir de n'importe quel type de données, mais les champs clés doivent tous être du même type de données. Par exemple, deux champs de type caractère. Les sous-types DateHeure (date, DateHeure et heure) peuvent uniquement être associés au même sous-type. |
| Type de champ | Il peut s'agir de champs physiques ou de champs calculés. |
| Nom de champ | Peuvent être différents. |
| Position de départ | Peuvent être différents. |
| Longueur de champ |
Doivent être identiques. |
| Justification et casse des champs de type caractère | Doivent être identiques. |
Tables et champs clés parents et enfants
Les tables et champs clés de l'opération d'association sont désignés parent et enfant en fonction de l'ordre d'ajout des tables à l'association :
- table parent : la première table que vous ajoutez (automatiquement ajoutée lorsque vous ouvrez une table et que vous commencez l'opération d'association)
- champ clé parent : le champ clé choisi dans la table parent ;
- table enfant : la seconde table que vous ajoutez, ou toute table ajoutée ultérieurement ;
- champ clé enfant : le champ clé choisi dans la table enfant ou les tables ultérieures.
Vous êtes libre de choisir les tables et champs clés enfant et parent que vous souhaitez. Cependant, l'association ne réussit que si les champs clés sont conformes aux conditions requises pour l'association.
Pour plus d'informations, consultez la section À propos des champs clés.
Accès aux champs de la table enfant
Une fois une relation établie, vous pouvez ajouter des champs à partir de toute table enfant dans la vue parent, même en l'absence de condition préalable. Vous pouvez accéder aux champs des tables enfant via la table parent et les analyser (liste déroulante À partir de la table dans les boîtes de dialogue Analytics et le Générateur d'expression) que vous les ayez ou non ajoutés à la vue parent.
Les champs des tables enfant accessibles via la table parent sont affichés au format nom de table.nom de champ pour indiquer la table dont proviennent les champs. Vous pouvez accéder aux tables associées et modifier des relations uniquement dans la table parent et pas dans une table enfant.
Tri et indexation de tables associées
La table virtuelle résultant d'une relation utilise l'ordre de tri existant de la table parent. Vous n'avez pas à trier ni indexer le champ clé de la table parent avant d'associer les tables. Néanmoins, vous pouvez opter pour cette solution en l'absence de l'option Prétrier pour la table parent pendant une relation.
Dans le cadre du fonctionnement interne de l'opération d'association, le ou les champs clés de la table enfant sont automatiquement indexés dans l'ordre croissant. Les index de la table enfant persistent même après la suppression des relations des tables enfant et peuvent être supprimés manuellement si nécessaire.
Informations supplémentaires sur l'association
Le tableau suivant fournit des informations supplémentaires sur l'association.
|
Domaine fonctionnel |
Détails |
|---|---|
|
Mise en correspondance des enregistrements |
Associer une paire de tables est l'équivalent logique de les joindre à l'aide de l'option Tous les enregistrements primaires, c'est-à-dire en utilisant la jonction de type plusieurs-à-un qui inclut les enregistrements primaires et secondaires (enregistrements parent et enfant) et les enregistrements primaires non correspondants. À l'instar de la jointure correspondante de type plusieurs-à-un, l'opération d'association fait correspondre les valeurs clés parent à la première occurrence uniquement d'une valeur clé enfant correspondante. Si d'autres occurrences d'une valeur clé enfant correspondante existent, elles sont ignorées. Vous devez tenir compte de ce comportement lorsque vous planifiez les relations entre vos tables, notamment si une table enfant contient plusieurs occurrences légitimes d'une valeur clé correspondante. L'une des méthodes consiste à essayer d'inverser la relation entre les deux tables, en faisant de la table enfant la table parent et inversement. |
|
Enregistrements non correspondants et valeurs de champ manquantes |
Si une valeur clé parent est dépourvue de correspondance dans une table enfant associée, pour les valeurs de champ manquantes, Analytics affiche un espace dans les champs caractère et DateHeure, un zéro dans les champs numériques et « F » dans les champs logiques. |
|
Doublons ou espaces dans un champ clé de table enfant |
Si des doublons ou des valeurs manquantes d'un champ clé d'une table enfant rendent toute analyse ultérieure non valide, le prétraitement de la table enfant en vue de supprimer les doublons et/ou les espaces peut être une solution dans certains cas. |
|
Extraction de données des tables associées |
Deux options vous permettent d'extraire des données des tables associées :
|
|
Longueur de champ clé identique non appliquée |
Analytics n'applique pas de longueurs identiques pour les champs clés communs des tables parent et enfant. Il est recommandé de toujours utiliser des champs d'une longueur identique, en harmonisant, si nécessaire, manuellement les longueurs avant d'effectuer l'association. Les résultats qui dérivent de l'association utilisant des champs clés de différentes longueurs ne sont pas fiables. Les champs clés DateHeure peuvent avoir des longueurs différentes, car Analytics utilise un format de DateHeure Analytics normalisé lors d'opérations impliquant des dates, des DateHeures ou des heures. |
|
Modification du type de données de champ clé |
Vous ne pouvez pas changer le type de données d'un champ clé parent ou enfant alors qu'il est utilisé pour associer des tables. Si vous devez modifier le type de données de l'un des champs, vous devez d'abord supprimer la relation. Si la modification entraîne des types de données différents dans les champs, vous ne pouvez plus utiliser les deux champs pour associer des tables. |
|
Éviter l'indexation conditionnelle |
N'utilisez pas d'index conditionnel pour les champs clés de table enfant. À la place, appliquez des conditions lorsque vous effectuez des opérations dans une table parent et sa ou ses tables associées. L'utilisation d'index conditionnels lors de la création de relations peut provoquer des omissions de données involontaires à différents points d'une hiérarchie relationnelle. L'approche la plus sécurisée consiste à créer des relations qui présentent comme complet un ensemble de données comme les relations le justifient et à appliquer ensuite des conditions au besoin. |
|
Restrictions sur l'emplacement des tables à associer |
Pour que des tables puissent être associées, elles doivent être dans le même projet Analytics. Les tables de serveur doivent être sur le même serveur et elles doivent être accessibles via le même profil de serveur. Vous ne pouvez pas associer une table locale et une table de serveur. |
|
Harmonisation de la justification et de la casse |
Lorsque vous associez des paires de tables en utilisant des champs clés caractère, la justification et la casse doivent être identiques :
|
|
Association de données UTC et non UTC |
Un champ clé DateHeure UTC et non UTC peut être utilisé pour associer deux tables. (L'heure UTC est l'heure universelle coordonnée à zéro degré de longitude.) Lors de l'exécution d'opération impliquant des DateHeures ou des heures, Analytics utilise un format DateHeure Analytics interne pour que les deux valeurs DateHeure suivantes soient interprétées comme identiques et constituent une correspondance :
Il est recommandé de redoubler de prudence si vous mélangez des données d'heure UTC et non UTC dans une opération Analytics. Bien qu'Analytics établisse une correspondance entre les deux valeurs précédentes, il se peut qu'il n'y ait aucune logique, car une valeur fait référence à un fuseau horaire et l'autre non. Pour plus d’informations sur UTC, consultez la section Onglet Date et heure (boîte de dialogue Options). |