Dans les maps DSQL, les éléments de structure peuvent être référencés par un chemin absolu ou relatif, en fonction du contexte.
Contextes d'itération
Pour comprendre les chemins dans les maps DSQL, il est important de comprendre le concept de contexte de boucle (ou d'itération). Le contexte de boucle décrit comment gérer les éléments pouvant survenir plusiuers fois dans une structure. Dans la map ci-dessous, la structure de sortie contient un élément de boucle nommé items. Cet élément a besoin d'un contexte de boucle à associer à l'une des boucles dans la structure d'entrée. Dans ce cas, la sortie doit contenir un élément items pour chaque occurrence de items, dans chaque boucle departments de la structure d'entrée. Cela est défini par l'expression suivante :
FROM departments
UNNEST items
Le contexte de boucle de l'élément items de sortie est l'élément d'entrée items.
Chemin absolu
Le chemin absolu d'un élément décrit sa position dans la structure, à partir de l'élément racine. Les niveaux dans la hiérarchie de la structure sont séparés par un point. Dans la structure d'entrée de la map ci-dessus, par exemple, le chemin absolu pour l'élément description est plusstore.departments.items.description.
Note InformationsConseil : Pour obtenir le chemin absolu d'un élément, cliquez-droit sur cet élément et sélectionnez Copy path to clipboard (Copier le chemin dans le presse-papier).
Relative path
Le chemin relatif d'un élément décrit sa position dans la structure, en commençant par le contexte d'itération de l'élément ou les boucles parentes du contexte d'itération. Dans la map ci-dessus, vous pouvez utiliser les chemins relatifs suivants :
salesperson_id pour plusstore.departments.salesperson_id
location pour plusstore.location
description pour plusstore.departments.items.description
Un élément ne peut être référencé par un chemin relatif si le chemin est susceptible d'être ambigu. Dans l'exemple ci-dessus, la structure d'entrée contient plusieurs éléments nommés name dans différentes boucles. Si le contexte d'itération est l'élement d'entrée items, seul l'élément name sous items peut être référencé par le chemin relatif name. Les autres éléments name doivent être référencés par leur chemin absolu, plusstore.departments.name par exemple.
Si le contexte d'itération change, certains chemins relatifs sont automatiquement modifiés en chemins absolus, si nécessaire. Si le contexte d'itération de l'exemple ci-dessus est à l'origine la boucle plusstore.departments, vous pouvez faire référence à plusstore.departments.name dans l'élément de sortie department_name avec le chemin relatif name. SI vous modifiez ensuite le contexte d'itération comme étant la boucle plusstore.departments.items, le chemin relatif name peut uniquement faire référence à plusstore.departments.items.name et l'expression de l'élément de sortie department_name est mise à jour avec le chemin absolu plusstore.departments.name.
Note InformationsConseil : Vous pouvez toujours utiliser le chemin absolu au lieu du chemin relatif, si vous avez un doute concernant le contexte de boucle.
Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.