Commande DEFINE RELATION
Définit une relation entre deux tables Analytics.
Remarque
Vous pouvez associer jusqu'à 18 tables Analytics, accéder aux données de toute combinaison de champs dans les tables associées et les analyser comme si elles existaient dans une seule et même table. Vous devez indiquer une commande DEFINE RELATION distincte pour chaque paire de tables associées.
Syntaxe
DEFINE RELATION champ_clé WITH nom_table_associée INDEX nom_index <AS nom_relation>
Paramètres
Nom | Description |
---|---|
champ_clé |
Champ clé de la table parent. Vous ne pouvez sélectionner qu'un seul champ clé par relation. Remarque Lors de la création de relations entre les tables parents et les tables petits-enfants, vous devez indiquer nom de champ clé complet au format nom_table.nom_champ. Dans Associer trois tables, consultez la section : Justificatifs.créés_par |
WITH nom_table_associée |
Nom de la table associée. |
INDEX nom_index |
Nom de l'index du champ clé de la table associée. Vous devez indexer la table associée sur le champ clé avant d'associer la table. |
AS nom_relation optionnel |
Nom unique pour la relation. Par défaut, le nom de la table enfant est utilisé comme nom de relation. Si vous définissez des relations supplémentaires avec la même table enfant, vous devez spécifier un nom unique. |
Exemples
Associer deux tables
Dans l'exemple suivant, la table ouverte est associée à la table Client en utilisant le champ de numéro client (CustNum) en tant que champ clé :
DEFINE RELATION CustNum WITH Client INDEX Client_sur_CustNum
Client_sur_CustNum est le nom de l'index de table enfant sur le champ clé. Un index de table enfant est requis lorsque vous associez des tables.
Si l'index de table enfant n'existe pas déjà lorsque vous exécutez la commande DEFINE RELATION, un message d'erreur apparaît et la relation n'est pas effectuée.
Astuce
Si vous définissez une relation dans l'interface utilisateur Analytics, l'index de table enfant est créé automatiquement pour vous.
Créer un index de table enfant avant d'associer deux tables
Si besoin, vous pouvez créer un index de table enfant juste avant d'associer deux tables. L'exemple ci-dessous montre la création d'un index sur la table enfant Client avant d'associer la table Ar à la table Client.
OPEN Client INDEX ON CustNum TO Client_sur_CustNum Ouvrir Ar DEFINE RELATION CustNum WITH Client INDEX Client_sur_CustNum
Dans l'exemple suivant, trois tables sont associées dans l'exemple de projet ACL_Rockwood.ACL :
- éléments_justificatifs table parent
- Justificatifs table enfant
- Employés table petit-enfant
En utilisant la table Justificatifs comme table intermédiaire dans la relation, vous pouvez associer chaque élément justificatif à l'employé l'ayant traité.
OPEN Justificatifs INDEX ON numéro_justificatif TO "Justificatifs_par_numéro_justificatif" OPEN éléments_justificatifs DEFINE RELATION numéro_justificatif WITH Justificatifs INDEX Justificatifs_par_numéro_justificatif OPEN Employés INDEX ON numéro_employé TO "Employés_par_numéro_employé" OPEN éléments_justificatifs DEFINE RELATION Justificatifs.créés_par WITH Employés INDEX Employés_par_numéro_employé
Explication de la logique de la syntaxe
- Ouvrez la table Justificatifs et indexez-la sur le champ numéro_justificatif.
- Ouvrez la table éléments_preuves et associez-la à la table Justificatifs à l'aide du champ clé numéro_justificatif.
- Ouvrez la table Employés et indexez-la sur le champ numéro_employé.
- Ouvrez la table éléments_justificatifs et associez-la à la table Employés à l'aide du champ clé Justificatifs.créés_par.
Remarque
Justificatifs.créés_par est disponible comme champ clé dans la deuxième relation car vous avez déjà associé éléments_preuves et Justificatifs dans la première relation.
Remarques
Remarque
Pour plus d'informations sur le fonctionnement de cette commande, consultez le Aide d'Analytics.