Le guide DAX ultime pour les débutants

Le guide DAX ultime pour les débutants

Le troisième pilier du développement de LuckyTemplates est les calculs DAX. Ce didacticiel contient un guide DAX complet pour les débutants couvrant les bases du formatage et de l'édition. Les fonctions DAX fréquemment utilisées sont également incluses dans la discussion.

Table des matières

Guide de l'éditeur DAX

Avant toute chose, voici quelques conseils sur l'éditeur DAX que vous devez connaître :

Utilisez Ctrl + molette de la souris pour augmenter ou diminuer la taille de la police dans la fenêtre de l'éditeur DAX.

Le guide DAX ultime pour les débutants

Utilisez Ctrl + Maj + L pour mettre à jour toutes les instances d'un nom à la fois.

Le guide DAX ultime pour les débutants

Ajoutez le préfixe « @ » aux tables virtuelles ou aux noms de colonnes temporaires dans DAX.

Le guide DAX ultime pour les débutants

Guide DAX pour le formatage

Votre code DAX doit être organisé et facilement compréhensible pour les utilisateurs.

Vous n'écrivez pas seulement du code pour vous-même aujourd'hui, mais aussi pour vous-même à l'avenir.

Il est important de développer des codes DAX qui soient facilement lisibles et compréhensibles par vous-même et par les autres, maintenant et à une date ultérieure.

Ne vous inquiétez pas si l'édition et l'organisation finissent par ruiner votre code. Les ordinateurs sont intelligents ; tant que la syntaxe est correcte, ils pourront interpréter et exécuter les codes que vous avez écrits.

Une excellente citation de Marco Russo dit :

S'il n'est pas formaté, ce n'est pas DAX.

Il existe plusieurs façons de formater DAX. L'option recommandée consiste à utiliser l' outil de nettoyage DAX disponible sur le LuckyTemplates Analyst Hub.

Le guide DAX ultime pour les débutants

Vous pouvez accéder à cet outil en utilisant ce . Une autre façon consiste à accéder au site Web LuckyTemplates, puis à sélectionner Ressources. Au bas de la page, vous trouverez l'outil de nettoyage DAX.

Pour utiliser cet outil, copiez votre code depuis l'éditeur DAX dans votre fichier LuckyTemplates. Collez-le dans l'outil de nettoyage DAX, puis cliquez sur Format.

Le guide DAX ultime pour les débutants

Une fois le nettoyage terminé, vous pouvez ensuite coller le code formaté dans votre fichier LuckyTemplates.

Le guide DAX ultime pour les débutants

Vous pouvez également modifier le code dans l'outil.

Commenter dans un code DAX

Lorsque vous traitez des codes DAX complexes, il est recommandé d'ajouter des commentaires. Vous bénéficierez grandement d'une explication de pseudocode. Mais il y a des exceptions.

Commenter est une activité très personnelle. Il peut y avoir des opinions variées sur le bon niveau de commentaires des développeurs et des utilisateurs. Encore une fois, lors de la création de codes et de commentaires, il est important de prendre en compte la manière dont ils seront acceptés et compris par les utilisateurs ou les développeurs dans les instances futures. Cela profitera grandement à vous et à l'entreprise à long terme.

Guide DAX pour les variables

Utilisez des noms de variables détaillés. La clé est la clarté . Il est important de créer des noms clairs et facilement compréhensibles.

Encore une fois, les ordinateurs sont intelligents et peuvent facilement comprendre tout ce qui est écrit. N'oubliez donc pas que vous n'écrivez pas pour l'ordinateur ou pour LuckyTemplates ; vous écrivez pour vous-même et pour quiconque utilisera et maintiendra votre code dans les mois à venir.

Lorsque vous utilisez des variables dans votre code DAX, il est recommandé d'utiliser un préfixe avant un nom de variable pour vous assurer que vous choisirez la bonne variable dans les lignes suivantes. Le trait de soulignement ( _ ) est un préfixe recommandé à utiliser. Cela permet également de réduire la liste présentée dans la fonctionnalité IntelliSense dans LuckyTemplates.

Voici un exemple :

Le guide DAX ultime pour les débutants

Vous pouvez voir que lorsque le trait de soulignement est tapé, seuls deux choix sont présentés. Le nombre de choix est considérablement réduit ce qui améliore l'efficacité lors du codage.

Une autre bonne pratique consiste à utiliser la construction RETURN Result .

Le guide DAX ultime pour les débutants

Cela facilite le développement et le débogage progressifs des codes DAX.

Qualification des calculs DAX

Lorsque vous utilisez des colonnes dans des expressions DAX, vous devez être précis car il est possible d'avoir le même nom de colonne dans plusieurs tables.

Par exemple, une colonne Clé client dans les tables Clients et Ventes peut se produire.

Le guide DAX ultime pour les débutants

Bien qu'ils signifient souvent la même chose et contiennent les mêmes données, ce ne sera pas toujours le cas. Pour obtenir les résultats souhaités, vous devez toujours qualifier les noms de colonne.

De plus, vous devez vous assurer que les mesures ne sont pas liées à une table. Ils peuvent être déplacés d'une table à une autre, il est donc important de s'assurer que les noms de mesure ne sont pas qualifiés.

Fonctions DAX importantes à connaître

1. CALCULER

est l'une des fonctions DAX les plus importantes car elle vous permet de modifier le contexte d'un calcul.

Cependant, cette fonction prête souvent à confusion non pas parce qu'elle est difficile à utiliser mais plutôt à cause de son nom. Même s'il s'appelle CALCULATE, il n'effectue pas réellement de calcul. Au contraire, cela change le contexte d'un calcul.

Par exemple, dans cette mesure Sales LY, la fonction CALCULATE est utilisée pour changer le contexte du calcul de Total Sales à un an avant le contexte d'évaluation actuel.

Le guide DAX ultime pour les débutants

2. DATEAJOUTER

De nombreuses fonctions d'intelligence temporelle sont disponibles dans DAX. Les codes DAX habituels utiliseront très probablement les fonctions , et parmi beaucoup d'autres. Mais est l'une des fonctions d'intelligence temporelle DAX les plus polyvalentes. Et cette fonction devrait être votre premier choix.

Avec DATEADD, la même syntaxe peut être utilisée pour plusieurs calculs, vers l'arrière ou vers l'avant dans le temps, et pour ANNÉE, TRIMESTRE, MOIS ou JOUR. Cela facilite la création de plusieurs mesures d'intelligence temporelle en utilisant le copier-coller avec des modifications mineures.

Le guide DAX ultime pour les débutants

3. DIVISER

La division dans LuckyTemplates peut se faire de plusieurs façons. La méthode la plus simple consiste à utiliser une simple division arithmétique.

Le guide DAX ultime pour les débutants

Cependant, la division par zéro des cas nécessite généralement des tests élaborés avant de continuer. Heureusement, il existe une fonction DAX qui gère cela pour vous.

La fonction gère automatiquement les cas de division par zéro et vous permet également d'ajouter un résultat alternatif. Comme il s'agit plus simplement d'une division arithmétique dans LuckyTemplates, le code est plus lisible.

Le guide DAX ultime pour les débutants

4. CHANGER VRAI

Un autre code DAX est la logique .

Lorsque vous avez plusieurs conditions à évaluer, cela vous amènera à créer plusieurs instructions imbriquées qui sont souvent difficiles à lire et à suivre.

L'instruction SWITCH TRUE donne la possibilité de modifier le code à une date ultérieure et d'ajuster les conditions aux nouvelles. Il est également plus compact, ce qui facilite la lecture.

Le guide DAX ultime pour les débutants

Guide DAX des tables virtuelles

Lors de la construction d'une table virtuelle dans votre code DAX, utilisez la fonction pour regrouper les colonnes dans une table de base. Ensuite, entourez-le de la construction pour ajouter des colonnes.

Pour réitérer, utilisez le préfixe " @ " sur les colonnes à l'aide de la fonction ADDCOLUMNS pour éviter toute ambiguïté et vous assurer que la colonne de table virtuelle choisie est correcte.

De plus, lorsqu'il s'agit de tables virtuelles, il est recommandé d'utiliser DAX Studio ou l'éditeur tabulaire pour vous aider.

Il peut exister de nombreuses relations entre une paire de tables dans LuckyTemplates. Le code DAX utilisera la relation active par défaut. Mais il peut être modifié pour utiliser une relation inactive particulière à l'aide de la commande .

Par exemple, il peut exister de nombreuses relations entre les colonnes Date de la table Dates et la table Sales. Sales [Order Date] est la relation active tandis que Sales [Invoice Date] est la relation inactive. Lorsque vous souhaitez utiliser les ventes [date de commande] dans un calcul, aucun effort supplémentaire n'est requis. Toutefois, si vous souhaitez utiliser les ventes [date de facturation] dans un calcul, vous devez l'utiliser avec la commande USERELATIONSHIP .

Le guide DAX ultime pour les débutants

Dans la vue du modèle dans LuckyTemplates, le survol de la ligne continue affiche la relation active. Alors que les deux lignes pointillées montrent la relation inactive entre chaque élément dans les deux tableaux.

Le guide DAX ultime pour les débutants

En parcourant l'exemple de rapport, on peut également voir qu'il existe une différence entre la colonne Sales by Order Date, la colonne Sales by Invoice Date et la colonne Sales by Ship Date.

Le guide DAX ultime pour les débutants

Mesures vs colonnes calculées

C'est un lieu de confort pour ceux qui viennent d'horizons Excel d'utiliser les colonnes calculées car cela vous permet de voir les données. Mais la meilleure pratique dans DAX et LuckyTemplates consiste à utiliser Mesures autant que possible.

Il existe certains cas où des colonnes calculées sont utilisées. Ils sont souvent développés comme point de départ pour aider à la visualisation d'un calcul. Mais ensuite, vous devez ensuite les remplacer par des mesures une fois que vous avez le calcul entièrement visualisé dans votre tête. De plus, les colonnes calculées peuvent être utilisées dans les segments contrairement aux mesures.

Une mesure n'augmente pas la taille physique de votre modèle de données lorsqu'elle est calculée ; il ne le fait que lorsqu'il est utilisé dans un visuel. Une colonne calculée, cependant, augmente la taille physique de votre modèle de données, car elle est calculée et stockée physiquement chaque fois que le fichier est actualisé.

Guide DAX pour mesurer la ramification

L'une des techniques les plus utiles de LuckyTemplates est la création de branches de mesure .

Un excellent moyen de modulariser votre code consiste à commencer par des mesures simples ou de base qui effectuent des calculs simples, puis à les combiner si nécessaire pour effectuer des calculs plus complexes. Placez les mesures de base et intermédiaires dans des tableaux pour voir les calculs au fur et à mesure qu'ils sont effectués.

Il existe différentes écoles de pensée quant à l'emplacement des mesures spécifiques, et il y a des avantages et des inconvénients à toutes les méthodes. Mais il est plus avantageux d'utiliser un groupe de mesures dédié dans le développement LuckyTemplates. Si toutes les mesures sont situées au même endroit en haut du volet Champs, cela facilite le suivi de la logique dans vos calculs DAX.

Le guide DAX ultime pour les débutants

Contexte dans les calculs DAX

L'une des principales forces de LuckyTemplates est le contexte. Et c'est aussi l'un des concepts les plus difficiles à saisir pour les développeurs.

Le contexte est l'environnement dans lequel un calcul est effectué.

Deux contextes sont souvent présentés : contexte de ligne et contexte de filtre . Mais en fait, il y en a un troisième : le contexte d'évaluation .

Et cela vous ramène à la commande CALCULER , qui encore une fois, permet à l'utilisateur de changer le contexte d'un calcul. Il existe deux classes principales de fonctions dans DAX et LuckyTemplates : les fonctions d'agrégation et les fonctions d'itération .

Les fonctions d'agrégation sont celles qui agrègent les valeurs d'une seule colonne. , et sont des exemples de fonctions d'agrégation . Alors que la plupart des fonctions d'agrégation ne fonctionnent que sur des valeurs numériques ou de date, MAX et MIN fonctionnent également sur des valeurs de texte.

Les fonctions d'itération sont celles qui calculent une expression pour chaque ligne d'une table. Elles sont également appelées fonctions X . Les exemples incluent , , et . Ils ont deux paramètres : la table à itérer et l'expression qui effectue le calcul. Cela peut utiliser plusieurs colonnes de la table de base ou d'autres tables associées.

Voici un bref exemple de la façon dont les fonctions d'agrégation et d'itération sont utilisées différemment tout en fournissant le même résultat :

Le guide DAX ultime pour les débutants

Conclusion

Ce guide DAX vise à aider les nouveaux utilisateurs de LuckyTemplates qui sont encore en train d'explorer et d'apprendre. Ceci est également très utile comme liste de contrôle unique pour les développeurs expérimentés qui ont besoin d'un cours de remise à niveau rapide. Ce didacticiel est un excellent bloc de construction pour le développement de rapports avancés dans LuckyTemplates.

LuckyTemplates propose diverses ressources sur les didacticiels DAX, des bases au codage avancé. Assurez-vous de les consulter pour mieux maîtriser le langage de programmation DAX.

Greg


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