Expressions imbriquées : environnements Power Query

Dans ce didacticiel, vous découvrirez les expressions, les objets et les environnements imbriqués dans Power Query . Des expressions et des variables imbriquées seront utilisées pour discuter du fonctionnement des environnements et aider à générer des données. Vous apprendrez également à gérer des scénarios courants lors de la transformation d'objets imbriqués.

Table des matières

Création d'expressions imbriquées

Les expressions sont définies comme une formule utilisée pour construire la valeur.

Expressions imbriquées : environnements Power Query

L'expression dans la barre de formule est construite à partir de sous-expressions. Les littéraux 1 et 2 sont des sous-expressions de l'expression parent.

Les variables sont définies comme des valeurs nommées. Ceci est un exemple d'enregistrement.

Expressions imbriquées : environnements Power Query

Si vous ouvrez la fenêtre de l'éditeur avancé, vous pouvez voir les variables utilisées dans la requête.

Expressions imbriquées : environnements Power Query

Les variables a , b et c représentent chacune une valeur qui est le résultat d'une expression que vous trouverez souvent après un signe égal. Toutes les variables dans l'expression parent, qui est l'enregistrement lui-même, forment l'environnement de cet enregistrement. Dans cet environnement, chaque variable doit être unique.

Ainsi, si vous ajoutez une autre variable appelée c , vous verrez un message d'erreur sous la fenêtre de l'éditeur avancé.

Expressions imbriquées : environnements Power Query

Expressions imbriquées : environnements Power Query

L'enregistrement peut accéder à toutes ses sous-expressions à l'aide d'identificateurs ou de noms de variables. Cependant, pour les expressions imbriquées dans l'enregistrement, chaque environnement est différent car elles peuvent accéder à toutes les autres variables de l'enregistrement, à l'exception d'elles-mêmes.

Dans cet exemple, vous pouvez voir que la variable c se référence elle-même.

Expressions imbriquées : environnements Power Query

Si vous appuyez sur terminé, vous obtiendrez un message d'erreur.

Expressions imbriquées : environnements Power Query

Si vous extrayez la valeur de c en ajoutant l'opérateur d'accès à l'élément, vous obtiendrez un résultat. Vous pouvez également obtenir le même résultat avec l' expression let car les mêmes règles lui sont appliquées.

Expressions imbriquées : environnements Power Query

Présentation des expressions imbriquées dans un environnement

Ceci est un autre exemple de valeur d'enregistrement.

Expressions imbriquées : environnements Power Query

Si vous ouvrez la fenêtre de l'éditeur avancé, vous pouvez voir que les variables a et b partagent le même environnement qui est l'environnement le plus externe. Vous verrez également que les variables x , y et z sont des sous-expressions de l'expression parent a .

Expressions imbriquées : environnements Power Query

Chaque variable peut accéder à toutes les autres variables de l'enregistrement imbriqué, à l'exception d'elle-même. Vous pouvez appeler une variable qui existe dans un environnement différent. Dans cet exemple, vous pouvez voir que z fait référence à b qui se trouve dans l'environnement extérieur.

Expressions imbriquées : environnements Power Query

Les variables x , y et z peuvent accéder à b car b fait partie de leur environnement d'expression parent. Vous pouvez également avoir la même variable mais dans des environnements différents.

Dans cet autre exemple, vous pouvez voir que l'enregistrement interne et externe a une variable x .

Expressions imbriquées : environnements Power Query

Les variables doivent être uniques dans leur propre environnement. Le x le plus proche attribué à une variable sera utilisé. Dans cet exemple de requête, le x interne est utilisé car il est plus proche du point de vue de l'enregistrement a .

Expressions imbriquées : environnements Power Query

Dans cette autre requête, le x le plus proche proche de la variable b est utilisé dans l'expression.

Expressions imbriquées : environnements Power Query

La variable externe b peut faire référence à la variable x à l'intérieur de l'enregistrement a à l'aide de l'opérateur d'accès aux éléments. Vous devez vous référer à la variable a puis accéder à x en utilisant un ensemble de crochets. De la même manière, l'enregistrement a peut faire référence à la variable x à l'intérieur de la variable b .

Expressions imbriquées : environnements Power Query

Lorsque l'environnement de l'enregistrement imbriqué a est fusionné avec des variables de l'expression parente, cela entraîne un conflit car x existe deux fois et toutes les variables doivent être uniques dans leur environnement. Puisqu'une variable ne peut pas se référer à elle-même, le conflit est résolu en se référant au x extérieur.

Expressions imbriquées : environnements Power Query

Résoudre des scénarios courants

Un scénario courant consiste à transformer des objets imbriqués. Pour démontrer, ce tableau sera utilisé.

Expressions imbriquées : environnements Power Query

Si vous souhaitez récupérer une valeur de la table externe et la placer dans la table imbriquée, il existe deux façons d'y parvenir. La première méthode consiste à utiliser l'option Ajouter une colonne personnalisée .

Cliquez sur l'icône de tableau dans le coin supérieur gauche du volet d'aperçu et sélectionnez Ajouter une colonne personnalisée.

Expressions imbriquées : environnements Power Query

Saisissez Temp comme nom de colonne et saisissez un espace réservé dans la formule de colonne personnalisée . Une fois terminé, appuyez sur OK.

Expressions imbriquées : environnements Power Query

Dans la barre de formule, remplacez chaque expression par une fonction personnalisée en ajoutant une colonne à votre tableau imbriqué. Démarrez la logique d'une fonction personnalisée et appelez-la OT pour table externe. Ensuite, ajoutez le signe go-to.

Ensuite, utilisez la fonction Table.AddColumn pour ajouter une colonne. Reportez-vous au tableau dans le tableau externe trouvé dans la colonne Noms. Et puis entrez un nouveau nom de colonne.

Pour cet exemple, le nom de colonne utilisé est Revenue . Entrez la fonction each pour obtenir les valeurs de chaque ligne dans la colonne Get Revenue.

Expressions imbriquées : environnements Power Query

Si vous cliquez sur l'espace à l'intérieur de la cellule d'une ligne dans la colonne Temp, vous obtiendrez un aperçu du tableau imbriqué sous le volet d'aperçu. Vous verrez que chaque ligne a la valeur de la table externe.

Expressions imbriquées : environnements Power Query

Utilisation de variables pour stocker des valeurs

La deuxième méthode de transformation d'objets imbriqués consiste à utiliser des variables pour stocker des valeurs. Tout d'abord, ajoutez une colonne personnalisée et saisissez Temp2 comme nom de colonne. Pour la formule, utilisez l' expression let pour stocker des valeurs dans des variables.

Entrez let puis écrivez un nom de variable. Pour cet exemple, le nom de la variable est myR . Ensuite, associez la variable à la colonne Get Revenue. Après cela, saisissez la clause in et utilisez la fonction Table.AddColumn pour ajouter une colonne à la table imbriquée.

Pour le premier paramètre de la fonction, saisissez la colonne Noms qui contient les tables imbriquées. Ensuite, nommez la nouvelle colonne Revenue. Utilisez each pour appeler les variables de chaque ligne.

Expressions imbriquées : environnements Power Query

Si vous cliquez sur l'espace à l'intérieur de la cellule d'une ligne dans la colonne Temp2, vous verrez qu'il a récupéré les valeurs de la table externe.

Expressions imbriquées : environnements Power Query

Un autre scénario courant est une recherche où il n'y a pas de clé partagée. Pour ce scénario, 2 exemples de tables seront utilisés : une table de catégories et une table de produits .

Expressions imbriquées : environnements Power Query

Expressions imbriquées : environnements Power Query

Utilisez la table des catégories comme requête intermédiaire pour compléter les attributs de la table de dimension du produit. Puisqu'il n'y a pas de clé partagée, une fusion ne peut pas être effectuée. La première chose à faire est d'imbriquer la table de catégories complète dans la requête de table de produits à l'aide de la colonne Ajouter une colonne personnalisée.

Ajoutez une colonne personnalisée et écrivez Catégorie comme nom de colonne. Ensuite, dans la formule personnalisée, appelez la requête de catégorie.

Expressions imbriquées : environnements Power Query

Après cela, vous avez maintenant imbriqué la table de catégories complète dans chaque ligne de la table de produits.

Expressions imbriquées : environnements Power Query

Lorsque vous cliquez sur l'espace à l'intérieur de la cellule d'une ligne dans la colonne Catégorie, vous pouvez voir le tableau complet des catégories dans chaque ligne.

Expressions imbriquées : environnements Power Query

Récupération d'une valeur unique

Si vous ne souhaitez récupérer qu'une seule valeur, vous devez filtrer la table des catégories sur une seule ligne où une partie de la chaîne du produit correspond au groupe de produits dans la table des catégories.

Ouvrez la boîte de dialogue Colonne personnalisée en appuyant sur le bouton d'engrenage à côté de la personnalisation ajoutée dans le volet Étapes appliquées.

Expressions imbriquées : environnements Power Query

Dans la formule, ajoutez la fonction Table.SelectRows . Pour le premier paramètre, la table Category est utilisée. Le deuxième paramètre utilisait la fonction Text.Contains comme condition. Pour la table interne, cette fonction vérifie si un texte contient une partie de la chaîne de produit dans la table externe.

Expressions imbriquées : environnements Power Query

En accédant au tableau externe, vous remarquerez que Power Query ajoute chaque mot-clé dans la barre de formule. C'est une fonction unaire qui prend le trait de soulignement ( _ ) comme variable sans nom. Cependant, puisque vous n'accédez qu'à une colonne, elle peut être omise.

Expressions imbriquées : environnements Power Query

Si vous cliquez sur l'espace à l'intérieur de la cellule d'une ligne dans la colonne Catégorie, vous verrez maintenant une seule ligne dans chacun des tableaux imbriqués.

Expressions imbriquées : environnements Power Query

De là, vous pouvez extraire une valeur pour la catégorie avec la combinaison des opérateurs d'accès aux lignes et aux champs.

Revenez à la boîte de dialogue Colonne personnalisée et ajoutez les opérateurs dans la formule. Pour obtenir la première ligne du tableau, saisissez 0 entre accolades. Ensuite, indiquez le nom du champ Catégorie entre crochets.

Expressions imbriquées : environnements Power Query

Pour pérenniser la solution, vous pouvez ajouter un point d'interrogation ( ? ) à la fin pour modifier le comportement introuvable en renvoyant une erreur à une valeur nulle.


Fonctionnement de l'éditeur de requête dans LuckyTemplates
M Language et Power Query Editor dans LuckyTemplates

Conclusion

Les environnements et les expressions imbriquées aident votre requête à faire ressortir certaines valeurs de vos codes pour fournir des résultats souhaitables. Il est important d'en être conscient lors de l'écriture de fonctions , car lorsque vous les comprendrez, vous serez en mesure de résoudre des scénarios plus avancés et plus complexes.

Mélisse

Leave a Comment

Gestion des erreurs dans Power Automate via le branchement parallèle

Gestion des erreurs dans Power Automate via le branchement parallèle

Découvrez l

Comparaison de tables dans Power Query | Tutoriel LuckyTemplates

Comparaison de tables dans Power Query | Tutoriel LuckyTemplates

Découvrez comment comparer facilement des tables dans Power Query pour signaler les différences et optimiser vos analyses de données.

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

Dans ce blog, vous découvrirez comment diviser les colonnes dans LuckyTemplates par délimiteurs à l'aide de DAX, une méthode efficace pour gérer des modèles de données complexes.

SELECTEDVALUE DAX Exemple - Sélection de trancheuse de récolte

SELECTEDVALUE DAX Exemple - Sélection de trancheuse de récolte

Découvrez comment récolter une valeur avec SELECTEDVALUE DAX pour des calculs dynamiques dans LuckyTemplates.

Calculer la marge en pourcentage dans LuckyTemplates à laide de DAX

Calculer la marge en pourcentage dans LuckyTemplates à laide de DAX

Calculez la marge en pourcentage à l

Modifier les formats de date à laide de léditeur Power Query

Modifier les formats de date à laide de léditeur Power Query

Dans ce didacticiel, nous allons explorer une méthode rapide pour convertir du texte en formats de date à l

Enregistrer la pièce jointe dun e-mail sur SharePoint avec Power Automate

Enregistrer la pièce jointe dun e-mail sur SharePoint avec Power Automate

Dans ce blog, vous apprendrez à enregistrer automatiquement la pièce jointe d

Comment adapter les cellules Excel au texte : 4 solutions simples

Comment adapter les cellules Excel au texte : 4 solutions simples

Découvrez comment adapter les cellules Excel au texte avec ces 4 solutions simples pour améliorer la présentation de vos données.

Générateur de rapports SSRS : formater les en-têtes dans un rapport paginé

Générateur de rapports SSRS : formater les en-têtes dans un rapport paginé

Dans ce didacticiel SSRS Report Builder, découvrez comment utiliser le générateur d

Thème de couleur dans les rapports LuckyTemplates - Conseils et techniques

Thème de couleur dans les rapports LuckyTemplates - Conseils et techniques

Découvrez les outils pour créer un thème de couleur efficace pour vos rapports LuckyTemplates et améliorer leur apparence.