Exemple de requête DAX utilisant divers mots-clés et fonctions

Exemple de requête DAX utilisant divers mots-clés et fonctions

Dans ce didacticiel, vous découvrirez divers mots clés et fonctions dans DAX Studio avec un exemple de requête spécifique pour chacun.

Plus précisément, vous découvrirez les mots-clés ORDER BY et START AT, ainsi que les fonctions TOPNSKIP et ADDMISSINGITEMS.

Table des matières

Exemple de requête DAX : mot clé ORDER BY

Le mot-clé ORDER BY vous permet de trier un jeu de données.

Exemple de base

Par exemple, en utilisant le mot clé ORDER BY, vous pouvez trier une colonne par ordre alphabétique.

Exemple de requête DAX utilisant divers mots-clés et fonctions

Vous pouvez voir que les données de la première ligne commencent par "A". L'ordre de tri par défaut de DAX Studio est croissant .

Si vous voulez que vos données apparaissent dans l'ordre décroissant, écrivez DESC . Ainsi, dans cet exemple, au lieu d'un A, la colonne Marque commencera par un "W".

Exemple de requête DAX utilisant divers mots-clés et fonctions

De même, si vous voulez le remettre dans un ordre croissant, écrivez ASC . Vous pouvez également trier plusieurs colonnes à la fois. Vous pouvez le faire en écrivant les colonnes que vous voulez, chacune séparée par une virgule.

Exemple de requête DAX utilisant divers mots-clés et fonctions

Exemple concret

Examinons maintenant une application simple du monde réel utilisant le mot-clé ORDER BY. Il s'agit du même exemple que celui utilisé dans le didacticiel sur les mots clés TABLE .

Exemple de requête DAX utilisant divers mots-clés et fonctions

Vous pouvez voir que ce tableau renvoie 3 colonnes. Le premier est le type de produit, composé de Boring et Trendy. La deuxième colonne affiche le total des ventes par type de produit. Le troisième renvoie le pourcentage des ventes.

Dans cet exemple, vous devez créer une nouvelle colonne qui trie le type de produit. Ainsi, après l' instruction , écrivez le mot-clé COLUMN , puis le nom de la colonne que vous souhaitez créer.

Exemple de requête DAX utilisant divers mots-clés et fonctions

La formule de cette colonne est la même que la syntaxe IF mais au lieu de "Trendy" et "Boring", cette colonne affichera "1" pour Trendy et "2" pour Boring.

Pour voir cette colonne dans le tableau, écrivez-la sous la syntaxe EVALUATE.

Exemple de requête DAX utilisant divers mots-clés et fonctions

Vous verrez alors qu'une nouvelle colonne, Product Type Sort, est ajoutée au tableau composé des nombres 1 et 2.

Pour trier cette colonne, écrivez le mot-clé ORDER BY après la syntaxe . Ensuite, après le nom de la colonne, écrivez ASC ou DESC en fonction de l'ordre de tri souhaité pour la colonne.

Exemple de requête DAX utilisant divers mots-clés et fonctions

Exemple de requête DAX : START AT

La prochaine chose que vous apprendrez est le mot clé START AT .

START AT est un mot clé obsolète. Son utilisation n'est pas recommandée pour la plupart des requêtes DAX. Cependant, vous pouvez toujours trouver du code DAX qui l'utilise. Il est donc toujours important de savoir de quoi il s'agit et dans quels cas il peut être utilisé.

Exemple de base

Tout d'abord, écrivez le mot-clé EVALUATE. Cet exemple utilise la table Produits. Avant d'écrire START AT, utilisez d'abord ORDER BY , puis spécifiez les colonnes que vous souhaitez inclure.

Exemple de requête DAX utilisant divers mots-clés et fonctions


Vous pouvez alors écrire START AT. Cette syntaxe suivra l'ordre similaire à la façon dont vous avez écrit vos colonnes sous ORDER BY. Pour cet exemple, la colonne Clé de produits commencera à « 2 » et la colonne Marque commencera à « Contoso ».

Exemple de requête DAX utilisant divers mots-clés et fonctions

Lorsque vous appuyez sur F5, vous pouvez voir dans le tableau Résultats que les colonnes spécifiées suivent la direction de la requête.

Voyons maintenant ce qui se passe lorsqu'une autre colonne est ajoutée. Dans ce cas, la colonne Couleur doit commencer par "Argent".

Exemple de requête DAX utilisant divers mots-clés et fonctions

Lorsque vous exécutez cette requête, vous pouvez voir que la première entrée sous la colonne Couleur est "blanc". Il n'est pas garanti que le résultat respecte toujours toutes les conditions lors de l'utilisation de START AT.

Pour cet exemple, aucune instance de la table Products ne contient 2, Contoso et Silver sur la même ligne. Au lieu de cela, le moteur DAX essaie de créer la meilleure correspondance avec la requête que vous avez créée.

Exemple complexe

Prenons un autre exemple :

Exemple de requête DAX utilisant divers mots-clés et fonctions

Après EVALUATE, écrivez le mot-clé ORDER BY suivi des trois colonnes spécifiées. Ensuite, écrivez START AT. Dans ce cas, la colonne Couleur doit commencer par « Rouge », la colonne Sexe doit commencer par « M » et la colonne Clé de magasin doit commencer par « 2 ».

Exemple de requête DAX utilisant divers mots-clés et fonctions

Après avoir exécuté la requête, vous pouvez voir que le moteur DAX a fait de son mieux pour faire correspondre les paramètres spécifiés.

Dans les résultats, vous pouvez voir que deux colonnes sont correctes, tandis que la colonne Store Key commence à 199 au lieu de 2. Cela est dû au fait qu'une clé de stockage de 2 n'existe pas dans le modèle de données de cet exemple.

Moteur DAX lent

Cliquez sur le bouton Server Timings sous l'onglet Accueil.

Exemple de requête DAX utilisant divers mots-clés et fonctions

Un nouvel onglet apparaîtra en bas. Cliquez sur le bouton Effacer le cache puis exécuter dans la flèche déroulante Exécuter.

Exemple de requête DAX utilisant divers mots-clés et fonctions

Vous pouvez voir qu'il faut 142 ms à DAX Studio pour exécuter la requête. Si vous supprimez la syntaxe START AT et exécutez à nouveau le code, vous pouvez voir que cela ne prendra que 11 ms pour s'exécuter.

Exemple de requête DAX utilisant divers mots-clés et fonctions

La requête prend plus de temps à s'exécuter s'il existe une syntaxe START AT, car elle appelle un comportement du moteur DAX appelé CallBackDataID .

START AT rend votre code extrêmement lent. S'il n'est pas nécessaire de l'utiliser, mieux vaut l'éviter.

Cela a un impact significatif sur les performances globales du code DAX que vous écrivez. C'est pourquoi il est préférable d'utiliser d'autres fonctions similaires.

Exemple de requête DAX : fonction TOPNSKIP

La prochaine chose que vous apprendrez dans ce didacticiel est la fonction TOPNSKIP . Cette fonction est similaire à , mais elle présente une différence subtile ainsi qu'un paramètre supplémentaire. Pour mieux comprendre cela, regardons un exemple.

TOPN contre TOPNSKIP

Tout d'abord, écrivez le mot-clé EVALUATE. Ensuite, écrivez l'argument TOPN ci-dessous pour afficher les 100 premières lignes de la table Products.

Exemple de requête DAX utilisant divers mots-clés et fonctions

Ce tableau a également été trié par ordre croissant par rapport à la colonne Product Key.

Maintenant, remplacez TOPN par TOPNSKIP. Dans le deuxième argument, indiquez le nombre de lignes que vous souhaitez ignorer. Dans cet exemple, 10 est spécifié.

Exemple de requête DAX utilisant divers mots-clés et fonctions

Lorsque vous exécutez ceci, vous verrez que la colonne Product Key commence maintenant à 11 et se termine à 110. Notez que vous ne pouvez pas utiliser la fonction TOPNSKIP dans une table calculée ou dans un modèle de données tabulaire.

Un autre exemple

Dans cet exemple suivant, visualisons les 5 000 premières lignes de la table des clients. Ce tableau est trié par ordre croissant par rapport à la colonne Sexe.

Si vous utilisez la fonction TOPN, vous pouvez voir que la table renvoie 9 518 lignes. Cela signifie que même si vous avez spécifié de n'afficher que les 5000 premières lignes, certaines données n'ont pas été filtrées.

Exemple de requête DAX utilisant divers mots-clés et fonctions

Cependant, si vous utilisez la fonction TOPNSKIP, vous pouvez voir que le tableau ne renvoie que les 5 000 premières lignes de la colonne Sexe.

Exemple de requête DAX utilisant divers mots-clés et fonctions

Ainsi, même si la colonne Sexe du client comporte plusieurs règles pour un sexe particulier, la fonction TOPNSKIP ne renverra que les 5 000 premières lignes. Ce résultat n'est pas garanti lors de l'utilisation de la fonction TOPN.

Exemple de requête DAX : fonction ADDMISSINGITEMS

Enfin, regardons la fonction ADDMISSINGITEMS dans DAX Studio.

Lorsque vous utilisez SUMMARIZECOLUMNS, par défaut, il essaiera de supprimer les lignes vides du résultat. Par exemple, nous pouvons écrire une requête qui résume la couleur des produits, la marque des produits et le sexe du client.

Exemple de requête DAX utilisant divers mots-clés et fonctions

Lorsque vous appuyez sur F5, vous pouvez voir que le tableau renvoie trois colonnes. La colonne Genre est composée de 3 types de genre : Masculin, Féminin et Vierge. Le blanc représente la Société. Vous pouvez également voir qu'il renvoie 333 lignes.

Mais si vous créez une colonne Total Sales, le filtre SUMMARIZECOLUMNS supprimera les lignes qui contiennent des valeurs vides pour Total Sales. Au lieu de 333 lignes, le tableau ne contient plus que 323 lignes.

Exemple de requête DAX utilisant divers mots-clés et fonctions

Il y a 2 options pour ramener ces lignes. La première option consiste à ajouter un zéro après le total des ventes. Dans les résultats, vous pouvez voir que 10 lignes renvoient une valeur nulle pour Total Sales.

Exemple de requête DAX utilisant divers mots-clés et fonctions

Cependant, cette option ne produit pas toujours le meilleur résultat. Au lieu de cela, il existe une fonction spécifique que vous pouvez utiliser pour résoudre ce problème : la fonction ADDMISSINGITEMS .

Pour utiliser cette fonction, placez ceci après EVALUATE. Dans le premier argument, écrivez les colonnes. Vous devez également coller ces colonnes dans le paramètre groupBy de SUMMARIZECOLUMNS.

Exemple de requête DAX utilisant divers mots-clés et fonctions

Lorsque vous exécuterez cette requête, vous verrez que la table renvoie désormais 333 lignes.

Exemple de requête DAX utilisant divers mots-clés et fonctions

Si vous triez les colonnes Total Sales et supprimez le zéro, le tableau renverra des valeurs vides sous la colonne Total Sales.

Exemple de requête DAX utilisant divers mots-clés et fonctions

Ainsi, au lieu de signaler un zéro, la table renvoie un blanc pour les lignes qui ont été supprimées par la fonction SUMMARIZECOLUMNS.

Utiliser ADDMISSINGITEMS et FILTER

Vous pouvez également utiliser la fonction ADDMISSINGITEMS avec . Par exemple, filtrons les lignes contenant "Tailspin Toys". Dans la requête, il est indiqué que la colonne Brand ne doit pas contenir ( <> ) Tailspin Toys.

Exemple de requête DAX utilisant divers mots-clés et fonctions

Lorsque vous appuyez sur F5, vous pouvez voir que la table ne renvoie plus que 331 lignes. Ainsi, ces deux rangées contenant la marque "Tailspin Toys" ont été supprimées.

Conclusion

Les deux mots-clés et les deux fonctions abordés dans ce didacticiel constituent les connaissances de base dont vous avez besoin lors de la création de requêtes dans DAX Studio. Ceux-ci seront utiles lorsqu'il s'agira d'applications plus complexes du monde réel.

DAX Studio est un outil puissant pour exécuter et analyser des requêtes DAX. Il est important d'apprendre les bases du codage de ce logiciel afin qu'il soit plus facile de traiter des requêtes avancées à l'avenir.

Experts LuckyTemplates


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