Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

Dans le blog d'aujourd'hui, vous apprendrez à utiliser LuckyTemplates pour diviser une colonne par des délimiteurs à l'aide de DAX. C'est quelque chose que vous sauriez probablement faire facilement avec Power Query, et c'est généralement la meilleure façon de le faire. 

Mais en raison de la nature dynamique du problème et des considérations spécifiques au sein du modèle de données, il existe des situations où l'utilisation de DAX offre une meilleure solution. Vous pouvez regarder la vidéo complète de ce tutoriel au bas de ce blog.

Table des matières

Exemple de problème

Il s'agit de l'exemple de problème dans LuckyTemplates.

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

Vous avez une liste d'environ 600 titres de films et vous souhaitez identifier les mots les plus courants parmi eux. Pour ce faire, vous utiliserez le curseur de paramètre ci-dessous pour calculer les mots de chaque titre.

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

Dans le curseur, vous pouvez définir le nombre de mots principaux que vous souhaitez renvoyer. Pour ce didacticiel, supposons que vous l'ayez défini sur cinq mots.

Votre prochain objectif est de renvoyer chaque titre contenant au moins un des cinq mots que vous avez sélectionnés. Cela peut sembler simple, mais c'est un peu plus délicat qu'il n'y paraît. Voici donc les étapes pour atteindre ces objectifs.

Étapes pour fractionner des colonnes à l'aide de délimiteurs

Cette section vous apprendra comment résoudre le problème donné en divisant les colonnes dans DAX. La première étape consiste à ouvrir les données du film en cliquant sur la deuxième icône sur le côté gauche, puis sur Film dans le volet Champs. 

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

Dans la liste des films qui apparaîtront, vous devez réfléchir à des moyens de décomposer les titres en mots individuels.

Une solution possible consiste à utiliser deux tables virtuelles comme indiqué ci-dessous. Le tableau 1 est un tableau à une colonne des N premiers mots définis par le curseur. Le deuxième tableau est une colonne virtuelle des mots de chaque titre de film. 

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

Ensuite, à l'aide des deux tables virtuelles, vous pouvez utiliser la fonction pour déterminer quels mots sont communs entre elles. Ensuite, faites sur cette table virtuelle pour savoir si ce nombre est supérieur ou égal à un. 

Si la réponse est oui, alors au moins un des mots cibles se trouve dans le titre du film. Et ce sont les titres que nous voulons conserver dans le résultat final. 

Recherche d'outils de colonne fractionnés LuckyTemplates utiles dans le guide SQLBI DAX

Pour réfléchir à la façon dont vous pouvez implémenter cela, vous pouvez vous référer au Guide SQLBI DAX en allant dans Outils externes puis Guide DAX

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

Sur cette page, vous pouvez rechercher des fonctions par type en cliquant sur Groupes.

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

Sous Fonctions , vous pouvez commencer par Texte pour voir s'il existe des fonctions de texte similaires aux colonnes fractionnées par des délimiteurs. Cela rendrait les choses assez faciles, mais malheureusement, rien ne correspond à cela dans DAX.

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

Au lieu de cela, vous utiliserez les qui font la même chose que split par le délimiteur.

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

Fonctions de hiérarchie parent-enfant

Les fonctions de hiérarchie parent-enfant ou les fonctions PATH sont généralement utilisées pour les situations hiérarchiques. Disons que vous avez besoin d'une analyse RH où vous avez le PDG d'une entreprise, les directeurs au niveau des directeurs, les directeurs au niveau des chefs de succursale, etc.

Les fonctions PATH peuvent exprimer cette hiérarchie d'une manière particulière et la parcourir d'avant en arrière. Il s'agit de l'utilisation traditionnelle des fonctions de hiérarchie parent-enfant, mais vous apprendrez qu'elle possède également des propriétés très utiles pour la manipulation de texte et DAX.

Son utilisation est beaucoup plus délicate que LuckyTemplates, mais nous espérons faciliter le processus en vous proposant une solution étape par étape. C'est une technique utile à apprendre, et elle vous expose à une famille de fonctions DAX incroyablement puissantes.

Colonne fractionnée LuckyTemplates dans DAX

Les fonctions de hiérarchie parent-enfant impliquent un certain nombre d'étapes, mais elles valent la peine d'être examinées car ces cinq fonctions sont vraiment puissantes et flexibles. 

Pour commencer, revenez au tableau et cliquez sur du film dans le volet Champs. 

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

Créez un chemin de film à l'aide de la commande comme indiqué ci-dessous.

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

Cette commande remplace chaque espace par une barre verticale. 

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

C'est de la même manière que les chemins doivent être formatés dans LuckyTemplates, donc généralement, cela se fait dans Power Query. Cependant, vous l'avez fait de cette façon pour voir les commandes , qui sont différentes des commandes M dans Power Query. 

La fonction crée la structure de chemin dont vous avez besoin, tandis que la commande supprime les espaces de début ou de fin qui pourraient affecter nos résultats. 

Votre deuxième colonne calculée est la longueur du chemin. Il s'agit d'une commande directe de la fonction que vous appliquez au chemin du film. Il vous dira combien d'éléments se trouvent sur ce chemin, donc dans ce cas, c'est le nombre de mots dans le titre. 

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

La même commande peut être utilisée pour déterminer, par exemple, le nombre de personnes dans la chaîne de signalement. Mais ce cas n'est qu'un simple compte de mots. 

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

La prochaine chose à faire est d'aller à Max Path Index dans le volet Fields. Ensuite, créez une table calculée qui parcourt toute la table des films, supprime les filtres et calcule la longueur maximale du chemin pour connaître le titre le plus long de la base de données.

En utilisant la fonction , vous pouvez générer une série d'index avec un au chemin maximum comptant par un. 

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

Voici à quoi devrait ressembler votre tableau. Vous verrez dans une minute pourquoi cela est précieux.

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

Pour l'instant, revenez à LuckyTemplates et cliquez sur Top Words in Film Path dans le volet Fields. 

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

Nous allons nous intéresser à cette table virtuelle dont la solution générale était le diagramme de Venn présenté précédemment. 

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

Décomposons-le pour mieux comprendre. Dans les lignes ci-dessous, nous avons utilisé la table virtuelle pour les N premiers mots, comme calculé ci-dessous. 

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

Ensuite, la colonne divisée par délimiteur est calculée dans les lignes ci-dessous. 

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

Ensuite, nous avons appliqué l'intersection de ces deux colonnes. Si cette intersection est supérieure à zéro, nous lui donnerons un un ou bien zéro. Enfin, nous avons renvoyé le résultat.

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

Lorsque vous travaillez avec des tables virtuelles complexes, le moyen le plus simple consiste à accéder à l' éditeur tabulaire , où vous pouvez matérialiser ces tables virtuelles dans une requête DAX. Pour cela, vous devez vous concentrer sur les lignes mises en évidence ci-dessous. 

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

Alors, copiez ce code et laissez-le dans notre presse-papiers pour les prochaines étapes. 

Traitement des colonnes fractionnées LuckyTemplates à l'aide de l'éditeur tabulaire 3

Dans les Outils externes, cliquez sur Éditeur tabulaire 3 . Vous pouvez également utiliser DAX Studio pour cela, mais Tabular Editor est recommandé en raison de ses fonctions de débogage supplémentaires et d'autres fonctionnalités intéressantes. Pour les requêtes DAX, DAX Studio fonctionnera bien aussi et il est totalement gratuit. 

De retour dans l'éditeur tabulaire, créez une nouvelle requête DAX en cliquant sur l' icône de papier dans le ruban. Tapez EVALUATE à la ligne 1, collez le code copié, puis appuyez sur F5.

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

Vous obtiendrez un tableau avec le Film Path et le Max Path pour les deux premières colonnes. Pour la troisième colonne, vous utiliserez la commande et le chemin du film pour déterminer quel est le premier mot pour chaque incrément de l'index du chemin, de un à neuf. 

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

Ce code renvoie le premier mot présenté dans la troisième colonne. 

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

Essayez de regarder un film en particulier en cliquant sur l' icône Filtrer dans le titre de la colonne Films[Chemin du film] . Par exemple, prenez-en un qui est un peu plus long, disons Captain America : The Winter Soldier. 

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

Dans la partie inférieure de la fenêtre, vous pouvez voir que EVALUATE a renvoyé 1000 lignes

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

Obtenez toutes les lignes , puis revenez en arrière et filtrez à nouveau Movies [Film Path] pour Captain America.

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

Recherchez Captain America : Le Soldat de l'Hiver. Cochez la case appropriée et cliquez sur Fermer.

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

Ce qu'il fait exactement pour chaque titre est de parcourir et d'appliquer les index un à neuf, comme indiqué dans la deuxième colonne, puis de l'appliquer à la commande

Vous pouvez voir que le premier élément est Captain , le deuxième élément est America , le troisième est The , le quatrième est Winter et le dernier élément est Soldier . Lorsque vous passez de six à neuf, c'est juste vide parce qu'il a dépassé le nombre de mots dans ce titre particulier. 

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

Ce que vous avez créé est une colonne fractionnée par délimiteur, qui est exactement la même que la colonne fractionnée par délimiteur dans Power Query. 

Dans LuckyTemplates, vous pouvez voir que la commande qui traverse l'intersection et l'instruction IF. Ainsi, si vous revenez dans votre ensemble de données et ouvrez le volet Filtres, vous pouvez voir que le Top Word in Film est filtré de sorte qu'il soit égal à un. 

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

Cela signifie essentiellement que tout ce qui se trouve dans le tableau de droite (Film) et qui contient un mot figurant dans la liste cible du tableau de gauche sera répertorié dans les lignes supérieures. En revanche, ceux qui sont nuls seront placés en bas.

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX


Power Automate Split Function And Arrays
LuckyTemplates Column Split Power Query Tutorial: Comment fractionner des cellules Excel multilignes dans LuckyTemplates
Créer une liste délimitée dans Power Query - Tutoriel de l'éditeur de requête

Conclusion

Dans ce blog, vous avez appris à diviser les colonnes par délimiteur dans DAX. Vous trouverez cet outil très utile lorsque votre situation est très dynamique ou que votre modèle de données ne prend pas en charge cette opération dans Power Query.

De plus, l'exemple de problème sur lequel vous avez travaillé est une bonne illustration de la puissance inhabituelle des commandes PATH et de la manière dont vous pouvez les utiliser pour résoudre des problèmes de manière non traditionnelle.


Quest-ce que le self en Python ? Exemples concrets

Quest-ce que le self en Python ? Exemples concrets

Qu'est-ce que le self en Python ? Exemples concrets

Comment enregistrer et charger un fichier RDS dans R

Comment enregistrer et charger un fichier RDS dans R

Vous apprendrez à enregistrer et à charger des objets à partir d'un fichier .rds dans R. Ce blog expliquera également comment importer des objets de R vers LuckyTemplates.

First N Business Days Revisited - Une solution de langage de codage DAX

First N Business Days Revisited - Une solution de langage de codage DAX

Dans ce didacticiel sur le langage de codage DAX, découvrez comment utiliser la fonction GENERATE et comment modifier dynamiquement le titre d'une mesure.

Présentez des informations à laide de la technique des visuels dynamiques multi-threads dans LuckyTemplates

Présentez des informations à laide de la technique des visuels dynamiques multi-threads dans LuckyTemplates

Ce didacticiel explique comment utiliser la technique Multi Threaded Dynamic Visuals pour créer des informations à partir de visualisations de données dynamiques dans vos rapports.

Introduction au filtrage du contexte dans LuckyTemplates

Introduction au filtrage du contexte dans LuckyTemplates

Dans cet article, je vais parcourir le contexte du filtre. Le contexte de filtrage est l'un des principaux sujets que tout utilisateur de LuckyTemplates doit d'abord connaître.

Meilleurs conseils pour utiliser les applications dans le service en ligne LuckyTemplates

Meilleurs conseils pour utiliser les applications dans le service en ligne LuckyTemplates

Je souhaite montrer comment le service en ligne LuckyTemplates Apps peut aider à gérer différents rapports et informations générés à partir de diverses sources.

Analyser les changements de marge bénéficiaire au fil du temps - Analytics avec LuckyTemplates et DAX

Analyser les changements de marge bénéficiaire au fil du temps - Analytics avec LuckyTemplates et DAX

Découvrez comment calculer les modifications de votre marge bénéficiaire à l'aide de techniques telles que la création de branches de mesure et la combinaison de formules DAX dans LuckyTemplates.

Idées de matérialisation pour les caches de données dans DAX Studio

Idées de matérialisation pour les caches de données dans DAX Studio

Ce didacticiel abordera les idées de matérialisation des caches de données et comment elles affectent les performances des DAX dans la fourniture de résultats.

Rapports dentreprise à laide de LuckyTemplates

Rapports dentreprise à laide de LuckyTemplates

Si vous utilisez encore Excel jusqu'à présent, c'est le meilleur moment pour commencer à utiliser LuckyTemplates pour vos besoins en matière de rapports commerciaux.

Quest-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir

Quest-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir

Qu'est-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir