Gestion des erreurs dans Power Automate via le branchement parallèle
Découvrez l
Je vais vous montrer comment transformer un code M pour une table de dates en une requête de table. Vous pouvez regarder la vidéo complète de ce tutoriel au bas de ce blog.
Je considérerais le niveau de difficulté de ce didacticiel comme intermédiaire, car si vous avez de l'expérience avec les codes M, il vous serait facile de suivre. Si vous n'avez aucune expérience connexe, je vous suggère de vous pencher d'abord sur les codes M pour vous faciliter la compréhension des concepts présentés ici.
Table des matières
Requête de fonction invoquée et requête de table de dates
Il s'agit de la requête de table de dates et de la requête de fonction invoquée.
Si vous regardez le volet Étapes appliquées à droite, il n'y a qu'une seule étape. Il affiche la source de cette requête.
Ainsi, si vous souhaitez développer le code M pour cette table de dates, vous devrez basculer entre la fonction et la requête de table pour voir les modifications que vous appliquez.
Cela signifie qu'il est plus compliqué de gérer les erreurs causées par l'une de vos modifications. Cela conduira à une erreur dans la requête de table elle-même, puis vous devrez rechercher dans les lignes de code pour corriger l'erreur.
La page suivante montre la requête de date renvoyant une table au lieu d'une fonction.
En regardant les étapes appliquées sur la droite, vous verrez qu'il y a plusieurs étapes répertoriées cette fois.
Cela signifie que lorsque vous développez votre code M de table de dates, vous verrez immédiatement les résultats de vos modifications dans cette requête de table.
Plus important encore, chaque fois que votre modification entraîne une erreur, vous pouvez facilement identifier l'étape à l'origine de l'erreur. Cela facilite la résolution du problème.
Application du code M
Le code M de la table de dates peut être trouvé dans le forum LuckyTemplates. C'est sous le sujet Extended Data Table Power Query M Function dans le M Code Showcase.
Le code M est tout en haut. Je vais mettre en surbrillance le code entier et le copier.
Ensuite, je vais créer une nouvelle requête vide.
Je vais ouvrir mon éditeur avancé et coller ce code.
Comme je vois qu'aucune erreur n'a été détectée, je clique sur Terminé.
Permettez-moi de le renommer et de l'appeler Dates.
Cette requête renvoie une fonction, mais ce que je veux, c'est une table.
Pour apporter les modifications nécessaires, je vais retourner dans l'éditeur avancé.
Conversion de la fonction en table
Pour que ce retour soit une table au lieu d'une fonction, je devrais apporter quelques modifications au code M dans l'éditeur avancé.
En regardant le code M, je peux facilement voir au moins deux environnements basés sur le nombre d'instructions let.
Chaque instruction let a sa propre clause in, qui se trouve en bas.
Vous pourriez penser qu'il serait plus facile de simplement supprimer cette dernière clause pour en faire un tableau.
Mais je ne vais pas faire ça. Au lieu de cela, je vais commenter cela en ajoutant deux barres obliques devant la dernière clause.
Je vais également le faire pour la première instruction let. Cela le rend inactif.
Sous l'instruction let interne, je vais créer une section pour déclarer mes paramètres car je dois encore transmettre ces paramètres à ce code.
Je vais marquer où ces variables doivent être déclarées.
Maintenant, je vais copier la première variable de l'instruction let externe et la coller dans l'espace.
Dans mon ensemble de données, les données historiques ne remontent pas plus loin que 2017. Donc, pour transmettre la valeur à la variable StartDate, je peux utiliser la date intrinsèque. Je mettrai le 1er janvier, puis je terminerai la ligne par une virgule.
Je vais ensuite copier et coller la variable suivante, qui est EndDate.
Je sais que la EndDate nécessiterait une prévision. C'est pourquoi je veux que cette EndDate soit toujours la fin de l'année prochaine.
J'ai déjà une variable dans mon code M pour CurrentDate, donc je vais y faire référence.
Encore une fois, j'utiliserai la date intrinsèque. Je vais extraire Date.Year et utiliser CurrentDate comme valeur d'année +1. Je veux aussi que la date soit le 31 décembre.
Encore une fois, je termine cette ligne par une virgule.
La variable suivante est un paramètre facultatif appelé FYStartMonth.
Donc je vais juste copier ce nom et le coller dedans.
Notez qu'un soulignement rouge est apparu sous FYStartMonth sous la variable que je viens de coller.
C'est parce que leurs noms correspondent. Ce n'était pas un problème quand ils étaient dans des environnements séparés. Mais les noms de variables au sein d'un même environnement doivent être uniques. Cela signifie que je dois changer le nom de la nouvelle variable que je viens de coller.
Au lieu de l'appeler FYStartMonth, je vais l'appeler FYStartMonthNum.
Je ne vais pas attribuer de valeur à cette variable, donc je vais juste mettre null.
Parce que j'ai changé le nom de la variable, je dois également changer le nom partout où ce paramètre a été référencé.
Pour en revenir à la variable, je fermerai cette ligne en ajoutant une virgule à la fin.
Le paramètre suivant est la liste facultative des jours fériés. Je vais également copier et coller cela, et le déclarerai également comme nul.
Il en va de même pour le WDStartNum. Je vais le copier et le coller, puis le déclarer comme nul.
Pour marquer où commence le code de la table de dates, je vais ajouter un autre commentaire ici.
Une fois que j'appuie sur Terminé, vous verrez que la requête renvoie maintenant le bon type.
J'ai maintenant une table au lieu d'une fonction.
Dans le volet Étapes appliquées, je peux également voir toutes les étapes qui composent la requête.
Si je souhaite apporter des modifications au tableau des dates, il est assez simple d'utiliser le ruban pour modifier ou ajouter des étapes. Pour chaque modification que j'apporte, je verrai également les résultats dans la requête immédiatement.
Transformer la requête de table en une fonction
Disons que je veux transformer la requête de table de date en une fonction. Il s'agit simplement de peaufiner quelques éléments dans le code M pour annuler les modifications que j'ai apportées précédemment.
Je vais retourner dans l'éditeur avancé et supprimer les barres obliques avant l'instruction let externe.
Ensuite, je vais supprimer les barres obliques avant les déclarations in.
Ensuite, je commenterai le bloc variable que j'ai ajouté plus tôt. Je vais donc ajouter une barre oblique et un astérisque ici.
Puis un astérisque et une barre oblique après le bloc variable.
Rappelez-vous quand j'ai changé cette ligne de code plus tôt à cause du FYStartMonthNum ?
Je vais copier cette ligne de code. Ensuite, je vais ajouter une nouvelle ligne et la coller.
Je vais supprimer le premier (c'est là que j'ai apporté les modifications au nom de la variable plus tôt).
Ensuite, sur le second, je trouverai les noms de variables édités.
Et je vais les transformer en FYStartMonth.
Une fois que j'appuie sur Terminé, la requête de table se transformera à nouveau en fonction.
Création d'une table de requête de date dynamique dans LuckyTemplates : un didacticiel sur l'éditeur de requêtes
Création d'une table de dates dans LuckyTemplates
Configuration d'une date de début et d'une date de fin dynamiques pour les tables de dates Power Query
Conclusion
Encore une fois, je vous ai montré à quel point les codes M sont pratiques, en particulier dans des cas comme ceux-ci où nous avons converti une fonction en une requête de table, et vice versa. Tant que vous avez accès au code M que nous avons sur le forum LuckyTemplates, vous pouvez l'utiliser dans des scénarios comme ceux-ci à l'avenir.
Vous pouvez également parcourir d'autres codes M que vous pouvez utiliser dans d'autres situations dans la vitrine des codes M sur le . C'est une communauté collaborative, vous pouvez donc lire les commentaires pour d'autres idées de nos experts et membres.
Tous mes vœux,
Mélisse
***** Apprendre LuckyTemplates ? *****
Découvrez l
Découvrez comment comparer facilement des tables dans Power Query pour signaler les différences et optimiser vos analyses de données.
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.
Découvrez comment récolter une valeur avec SELECTEDVALUE DAX pour des calculs dynamiques dans LuckyTemplates.
Calculez la marge en pourcentage à l
Dans ce didacticiel, nous allons explorer une méthode rapide pour convertir du texte en formats de date à l
Dans ce blog, vous apprendrez à enregistrer automatiquement la pièce jointe d
Découvrez comment adapter les cellules Excel au texte avec ces 4 solutions simples pour améliorer la présentation de vos données.
Dans ce didacticiel SSRS Report Builder, découvrez comment utiliser le générateur d
Découvrez les outils pour créer un thème de couleur efficace pour vos rapports LuckyTemplates et améliorer leur apparence.