Démarrage rapide : découvrir les fondamentaux de DAX en 30 minutes

Important :  Cet article a été traduit automatiquement, voir l’avertissement. Vous pouvez consulter la version en anglais de cet article ici.

Ce guide de démarrage rapide s’adresse aux utilisateurs qui ne sont pas encore familiarisés avec Power Pivot dans Excel ni avec les projets de modèles tabulaires créés dans SQL Server Data Tools. Il est censé donner une présentation simple et rapide de la façon dont vous pouvez utiliser des expressions DAX (Data Analysis Expressions) pour résoudre un certain nombre de problèmes analytiques et de modélisation des données de base. Cette rubrique contient des informations conceptuelles, une série de tâches que vous pouvez effectuer, ainsi que quelques questions permettant de tester vos connaissances. Une fois que vous aurez étudié cette rubrique, vous devriez avoir une bonne compréhension des concepts fondamentaux les plus élémentaires du langage DAX.

Qu’est que le langage DAX ?

DAX est un ensemble de fonctions, d’opérateurs et de constantes qui peuvent être utilisés dans une formule, ou expression, afin de calculer et retourner une ou plusieurs valeurs. Plus clairement, DAX vous aide à créer de nouvelles informations à partir de données figurant déjà dans votre modèle.

Pourquoi DAX est-il si important ?

Il est facile de créer un classeur et d’y importer des données. Vous pouvez même créer des tableaux croisés dynamiques ou des graphiques croisés dynamiques qui affichent des informations importantes sans utiliser de formules DAX. Cependant, les choses se compliquent si vous devez analyser des données de ventes stratégiques concernant plusieurs catégories de produits et s’étalant sur des plages de dates différentes. Le même problème se pose si vous devez combiner des données d’inventaire importantes à partir de plusieurs tables dans différentes sources de données. Les formules DAX offrent cette possibilité, ainsi que de nombreuses autres fonctions importantes. Apprendre à créer des formules DAX efficaces vous aidera à tirer le meilleur parti de vos données. Une fois que vous avez obtenu les informations dont vous avez besoin, vous pouvez commencer à résoudre les véritables problèmes de votre entreprise qui ont une incidence sur votre chiffre d’affaires. Il s’agit d’aide à la décision et DAX vous aidera à y parvenir.

Configuration requise

Vous êtes peut-être déjà familiarisé avec la création de formules dans Microsoft Excel. Ces connaissances vous seront utiles pour comprendre le langage DAX, mais même si vous n’avez aucune expérience avec les formules Excel, les concepts décrits ici vous aideront à créer des formules DAX et à résoudre les problèmes de décisionnel réels immédiatement.

Nous allons le focus spécifiquement sur les formules DAX compréhension utilisés dans les calculs. Vous devez déjà être familiarisé avec les concepts fondamentaux des colonnes calculées et des mesures (également appelés champs calculés), qui sont décrites dans Power Pivot aide. Vous devez également être familiarisé avec la Power Pivot dans Excel environnement et outils de création.

Classeur d’exemple

Le meilleur moyen de découvrir DAX est de créer des formules de base, de les utiliser avec des données réelles et de voir les résultats par vous-même. Les exemples et les tâches décrites ici font appel au classeur d’exemple DAX Formulas.xlsx de Contoso. Vous pouvez télécharger le classeur à l’adresse http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409. Une fois que le classeur est téléchargé sur votre ordinateur, ouvrez-le, puis ouvrez la fenêtre Power Pivot.

C’est parti !

Nous allons aborder DAX autour de trois concepts fondamentaux très importants : syntaxe, fonctions et contexte. Naturellement, il existe d’autres concepts importants dans DAX, mais la compréhension de ces trois notions servira de socle sur lequel vous pourrez approfondir vos connaissances de DAX.

Syntaxe

Avant de créer vos propres formules, jetons un coup d’œil à la syntaxe des formules DAX. La syntaxe inclut les différents éléments qui composent une formule, ou plus simplement, elle correspond au mode de rédaction de la formule. Par exemple, regardons une formule DAX simple permettant de créer de nouvelles données (valeurs) pour chaque ligne d’une colonne calculée, nommée Margin, dans une table FactSales : (les couleurs du texte de formule sont fournies à titre indicatif uniquement)

Formule de colonne calculée

La syntaxe de cette formule contient les éléments suivants :

  1. L’opérateur de signe égal (=) indique le début de la formule, laquelle, lorsqu’elle est calculée, retourne un résultat ou une valeur. Toutes les formules qui calculent une valeur commencent par un signe égal.

  2. La colonne référencée [SalesAmount] contient les valeurs desquelles nous souhaitons effectuer une soustraction. Une référence de colonne dans une formule est toujours entourée par des crochets []. Contrairement aux formules Excel qui font référence à une cellule, une formule DAX fait toujours référence à une colonne.

  3. Opérateur mathématique de soustraction (-).

  4. La colonne référencée [TotalCost] contient les valeurs que nous souhaitons soustraire des valeurs de la colonne [SalesAmount].

Pour tenter de comprendre comment lire une formule DAX, il est souvent pratique de décomposer chacun des éléments afin de les reformuler dans la langue que vous utilisez tous les jours. Par exemple, vous pouvez lire cette formule comme suit :

Dans la table FactSales, pour chaque ligne de la colonne calculée Margin, calculez (=) une valeur en soustrayant (-) des valeurs de la colonne [TotalCost] des valeurs de la colonne [SalesAmount].

Jetons un coup à un autre type de formule, qui est utilisée dans une mesure :

Formule de colonne calculée

Cette formule contient les éléments de syntaxe suivants :

  1. Le nom de la mesure Sum of Sales Amount. Formules pour les mesures peuvent inclure le nom de mesure, suivi de deux-points, suivi de la formule de calcul.

  2. L’opérateur de signe égal (=) indique le début de la formule de calcul. Au moment du calcul, un résultat est retourné.

  3. La fonction SUM additionne tous les nombres de la colonne [SalesAmount]. Vous en apprendrez plus sur les fonctions dans la suite de ce didacticiel.

  4. Les parenthèses () délimitent un ou plusieurs arguments. Toutes les fonctions requièrent au moins un argument. Un argument transmet une valeur à une fonction.

  5. La table référencée FactSales.

  6. La colonne référencée [SalesAmount] de la table FactSales. Avec cet argument, la fonction SUM sait sur quelle colonne effectuer l’agrégation d’une somme.

Vous pouvez lire cette formule comme suit :

Pour la mesure nommé Sum of Sales Amount, calculez (=) la somme des valeurs dans la [ SalesAmount ] colonne dans la FactSales table.

Lorsqu'il est placé dans les valeurs de dépôt dans une liste de champs de tableau croisé dynamique, cette mesure calcule et renvoie les valeurs définies par chaque cellule du tableau croisé dynamique, par exemple, des téléphones cellulaires aux États-Unis.

Notez quelques différences entre cette formule et la formule que nous avons utilisée pour la colonne calculée Margin. En particulier, nous avons intégré une fonction, SUM. Les fonctions sont des formules préécrites qui simplifient les calculs et les manipulations complexes impliquant des nombres, des dates, des heures, du texte, etc. Vous en apprendrez plus sur les fonctions dans la suite de ce didacticiel.

Contrairement à la colonne calculée Margin précédemment, vous voyez que la colonne [SalesAmount] a été précédée par le FactSales de table dans laquelle la colonne appartient. Il s'agit comme nom de colonne complet dans la mesure où il inclut le nom de colonne précédé par le nom de table. Colonnes référencées dans la même table ne nécessitent pas le nom de table être inclus dans la formule. Cela peut rendre long formules qui font référence à plusieurs colonnes plus courtes et plus faciles à lire. Toutefois, il est conseillé de toujours inclure le nom de table dans vos formules de mesure, même dans la même table.

Remarque : Si le nom d’une table contient des espaces, des mots clés réservés ou des caractères non autorisés, vous devez placer le nom de la table entre guillemets simples. Vous devez également mettre entre guillemets les noms de tables si le nom contient des caractères ne figurant pas dans la plage de caractères alphanumériques ANSI, que vos paramètres régionaux prennent en charge le jeu de caractères ou non.

Il est très important que vos formules présentent la syntaxe correcte. Dans la plupart des cas, si la syntaxe est incorrecte, une erreur de syntaxe est retournée. Dans d’autres cas, la syntaxe peut être correcte, mais les valeurs retournées peuvent ne pas correspondre à vos attentes. Power Pivot (et SQL Server Data Tools) inclut IntelliSense ; il s’agit d’une fonctionnalité permettant de créer des formules syntaxiquement correctes en vous aidant à sélectionner les éléments appropriés.

Essayons de créer une formule simple. Cette tâche vous aide à mieux comprendre la syntaxe de formule, ainsi que la manière dont les fonctionnalités IntelliSense peuvent vous aider au niveau de la barre de formule.

Tâche : créer une colonne simple pour une colonne calculée

  1. Si vous n’êtes pas déjà dans la fenêtre Power Pivot, dans Excel, sur le ruban Power Pivot, cliquez sur Fenêtre Power Pivot.

  2. Dans la fenêtre Power Pivot, cliquez sur la table FactSales (onglet).

  3. Faites défiler jusqu’à la colonne la plus à droite, puis dans l’en-tête de colonne, cliquez sur Ajouter une colonne.

  4. Cliquez dans la barre de formule en haut de la fenêtre du générateur de modèles.

    Barre de formule PowerPivot

    Votre curseur apparaît maintenant dans la barre de formule. La barre de formule est l’emplacement où vous pouvez entrer une formule pour une colonne calculée ou un champ calculé.

    Prenons un moment pour observer trois boutons situés à gauche de la barre de formule.

    Barre de formule

    Lorsque le curseur est actif dans la barre de formule, ces trois boutons sont actifs. Le bouton situé à l’extrême gauche, X, correspond tout simplement à un bouton Annuler. Allez-y, cliquez dessus. Le curseur ne s’affiche plus dans la barre de formule ; par ailleurs, le bouton Annuler et le bouton de coche n’apparaissent plus. Allez-y, cliquez à nouveau dans la barre de formule. Le bouton Annuler et le bouton de coche réapparaissent maintenant. Cela signifie que vous êtes prêt pour l’écriture d’une formule.

    Le bouton de coche correspond au bouton de vérification de la formule. Il n’a pas une grande utilité tant que vous n’avez pas écrit de formule. Nous y reviendrons un peu plus tard.

    Cliquez sur le bouton Fx . Vous verrez qu'une boîte de dialogue s'affiche ; la boîte de dialogue Insérer une fonction. La boîte de dialogue Insérer une fonction est le moyen le plus simple pour commencer la saisie de formules DAX. Nous allons ajouter une fonction dans une formule quand nous créer une mesure un peu plus tard, mais pour l'instant, vous n'avez pas besoin ajouter une fonction dans votre formule de colonne calculée. Continuez et fermez la boîte de dialogue Insérer une fonction.

  5. Dans la barre de formule, tapez un signe égal =, puis entrez un crochet ouvrant [. Vous verrez une petite fenêtre s’afficher avec toutes les colonnes de la table FactSales. Cela signifie que la fonctionnalité IntelliSense est active.

    Les colonnes calculées étant toujours créées dans la table active, il est inutile de faire précéder le nom de la colonne par le nom de la table. Faites maintenant défiler la liste vers le bas et double-cliquez sur [SalesQuantity]. Vous pouvez également faire défiler jusqu’au nom de colonne souhaité, puis appuyer sur la touche Tab.

    Le curseur est maintenant actif à droite de [SalesQuantity].

  6. Tapez un espace, puis entrez un opérateur de soustraction - (signe moins), puis tapez un autre espace.

  7. Maintenant, tapez un autre crochet ouvrant [. Cette fois, sélectionnez la colonne [ReturnQuantity], puis appuyez sur Entrée.

    Si vous obtenez une erreur, examinez soigneusement la syntaxe. Si nécessaire, comparez-la à la formule de la colonne calculée Margin décrite précédemment.

    Une fois que vous avez appuyé sur Entrée pour terminer la formule, le message de calcul en cours s’affiche dans la barre d’état au bas de la fenêtre Power Pivot. La procédure est rapide, même si vous venez de calculer de nouvelles valeurs pour plus de trois millions de lignes.

  8. Cliquez avec le bouton droit sur l’en-tête de colonne et renommez la colonne, NetSales.

Voilà ! Vous venez de créer une formule DAX, certes simple, mais très puissante. Pour chaque ligne de la table FactSales, la formule NetSales calcule une valeur en soustrayant la valeur figurant dans la colonne [ReturnQuantity] de la valeur de la colonne [SalesQuantity]. Notez l’importance de la mention « Pour chaque ligne ». Ceci est un aperçu d’un autre concept très important dans DAX, le contexte de ligne. Vous en apprendrez plus sur le contexte de ligne dans la suite de ce didacticiel.

Conseil : 

Lorsque vous tapez un opérateur dans une formule DAX, il est vraiment important de comprendre à quoi correspond le type de données dans les arguments que vous utilisez. Par exemple, si vous entrez la formule suivante, = 1 & 2, la valeur retournée correspond à la valeur textuelle « 12 ». Cela est dû au fait que l’opérateur « et commercial » (&) correspond à une concaténation de texte. DAX interprète cette formule de la manière suivante : calculez un résultat en prenant la valeur 1 en tant que texte et ajoutez la valeur 2 en tant que texte. Maintenant, si vous tapez = 1 + 2, DAX interprète cette formule comme suit : calculez un résultat en prenant la valeur numérique 1 et en y ajoutant la valeur numérique 2. Le résultat est évidemment « 3 », c’est-à-dire une valeur numérique. DAX calcule les valeurs résultantes en fonction de l’opérateur dans la formule, et non en fonction du type de données des colonnes utilisées dans l’argument. Les types de données dans DAX sont très importants, mais n’entrent pas dans le cadre de ce guide de démarrage rapide. Pour en savoir plus sur les types de données et les opérateurs dans les formules DAX, consultez la référence DAX (http://go.microsoft.com/fwlink/?LinkId=239769&clcid=0x409) dans la documentation en ligne.

Essayer une autre. Cette fois, vous allez créer une mesure en tapant la formule et à l'aide d'IntelliSense. Ne vous inquiétez pas trop d'if vous ne comprenez la formule. Le plus important ici consiste à apprendre à créer une formule à l'aide de plusieurs éléments ensemble dans la syntaxe correcte.

Tâche : Créer une formule de mesure

  1. Dans la table FactSales, cliquez dans n’importe quelle cellule vide au sein de la Zone de calcul. Il s’agit de la zone de cellules vides juste au-dessous d’une table dans la fenêtre Power Pivot.

Zone de calcul de PowerPivot

  1. Dans la barre de formule, tapez le nom « Previous Quarter Sales: ».

  2. Tapez un signe égal = pour démarrer la formule de calcul.

  3. Tapez les premières lettres, CAL, puis double-cliquez sur la fonction à utiliser. Dans cette formule, vous souhaitez utiliser la fonction CALCULATE.

  4. Tapez une parenthèse ouvrante (pour commencer la saisie des arguments à transmettre à la fonction CALCULATE).

    Notez qu’après avoir tapé la parenthèse ouvrante, IntelliSense vous présente les arguments requis pour la fonction CALCULATE. Vous en apprendrez un peu plus sur les arguments dans un instant.

  5. Tapez les premières lettres de la table FactSales, puis dans la liste déroulante, double-cliquez sur FactSales [sales].

  6. Tapez une virgule (,) pour spécifier le premier filtre, puis tapez PRE et double-cliquez sur la fonction PREVIOUSQUARTER.

    Après avoir sélectionné la fonction PREVIOUSQUARTER, une autre parenthèse ouvrante apparaît, ce qui indique qu’un autre argument est requis ; cette fois, c’est pour la fonction PREVIOUSQUARTER.

  7. Tapez les premières lettres, Dim, puis double-cliquez sur DimDate[DateKey].

  8. Fermez à la fois l’argument passé à la fonction PREVIOUSQUARTER et celui transmis à la fonction CALCULATE en tapant deux parenthèses fermantes )).

    Votre formule doit maintenant ressembler à ceci :

    Previous Quarter Sales:=CALCULATE(FactSales[Sales], PREVIOUSQUARTER(DimDate[DateKey]))

  9. Cliquez sur le bouton de vérification de la formule sur la barre de formule afin de valider la formule. Si vous obtenez une erreur, vérifiez chaque élément de la syntaxe.

Vous l'avez fait ! Vous venez de créer une mesure à l'aide de DAX et non un facile à cette. Comme cette formule est calculer le total des ventes du trimestre précédent, selon les filtres appliqués dans un tableau croisé dynamique ou graphique croisé dynamique.

Vous venez de découvrir plusieurs aspects importants des formules DAX. D’abord, cette formule intégrait deux fonctions. Notez que la fonction PREVIOUSQUARTER est imbriquée comme un argument passé à la fonction CALCULATE. Les formules DAX peuvent compter jusqu’à 64 fonctions imbriquées. Il est peu probable qu’une formule contienne un aussi grand nombre de fonctions imbriquées. En fait, il serait très difficile de créer et de déboguer une telle formule, et cette procédure serait probablement très fastidieuse.

Dans cette formule, vous avez également utilisé des filtres. Les filtres restreignent les éléments à calculer. Dans ce cas, vous avez sélectionné un filtre en tant qu’argument, qui est en réalité une autre fonction. Vous en apprendrez plus sur les filtres ultérieurement.

Enfin, vous avez utilisé la fonction CALCULATE. Il s’agit de l’une des fonctions les plus puissantes de DAX. À mesure que vous allez créer des modèles de données et des formules plus complexes, vous serez probablement amené à utiliser cette fonction à de nombreuses reprises. Une description complète de la fonction CALCULATE dépasse le cadre de ce guide de démarrage rapide, mais à mesure que vos connaissances de DAX s’étofferont, accordez une attention toute particulière à cette fonction.

Remarque : En général, pour pouvoir utiliser des fonctions Time Intelligence dans des formules DAX, vous devez spécifier une colonne de date unique à l’aide de la boîte de dialogue Marquer en tant que table de dates. Dans le classeur Samples.xlsx de formule DAX de Contoso, la colonne DateKey de la table DimDate est sélectionnée en tant que colonne de date unique.

Bonus supplémentaire

Vous vous demanderez peut-être: « Qu'est la plus simple formule DAX puis-je créer? » Et bien, la réponse à cette est « la formule que vous n'êtes pas obligé ». Et, il s'agit exactement ce que vous pouvez faire en utilisant une fonction d'agrégation standard dans une mesure. N'importe quel modèle de données a besoin filtrer et calculer des données agrégées. Par exemple, la fonction somme dans la mesure Sum of Sales Amount que vous avez vu plus haut est utilisée pour additionner tous les nombres dans une colonne particulière. DAX inclut plusieurs autres fonctions permettant de regrouper ainsi que les valeurs. Vous pouvez créer automatiquement des formules à l'aide des agrégations standards à l'aide de la fonction Somme automatique.

Tâche du bonus supplémentaire : Créer une formule de mesure à l'aide de la fonction Somme automatique

  1. Dans la table FactSales, faites défiler jusqu’à la colonne ReturnQuantity, puis cliquez sur l’en-tête de colonne pour sélectionner la colonne dans son intégralité.

  2. Sous l’onglet Dossier de base, sur le ruban, dans le groupe Calculs, cliquez sur le bouton Somme automatique.

Somme automatique dans PowerPivot

  1. Cliquez sur la flèche vers le bas en regard de somme automatique, puis cliquez sur moyenne (Notez la d'agrégation standard fonctions que vous pouvez utiliser également).
    Immédiatement, une mesure est créée avec le nom moyenne de ReturnQuantity : suivi de la formule = AVERAGE([ReturnQuantity]).

Ce n’était pas bien compliqué, n’est-ce pas ? Bien entendu, toutes les formules que vous allez créer ne seront pas aussi simples. Cependant, grâce à la fonction de somme automatique, vous pouvez créer des formules simplement et rapidement à l’aide de calculs d’agrégation standard.

Ceci devrait vous donner une assez bonne compréhension de la syntaxe utilisée dans les formules DAX. Nous vous avons également présenté certaines fonctionnalités vraiment intéressantes, comme IntelliSense et la somme automatique, pour vous aider à créer des formules simples, rapides et précises. Bien sûr, il existe encore de nombreuses autres informations concernant la syntaxe que vous avez intérêt à connaître. Pour en savoir plus, consultez la référence DAX ou la documentation en ligne de SQL.

Test QuickQuiz sur la syntaxe

  1. Quel est le rôle de ce bouton sur la barre de formule ?
    Bouton Fonction

  2. Par quoi un nom de colonne est-il toujours entouré dans une formule DAX ?

  3. Comment écririez-vous une formule pour ce qui suit :
    Dans la table DimProduct, pour chaque ligne de la colonne calculée UnitMargin, calculez une valeur en soustrayant les valeurs de la colonne UnitCost des valeurs de la colonne UnitPrice ?

Les réponses sont fournies à la fin de cette rubrique.

Fonctions

Les fonctions sont des formules prédéfinies qui réalisent des calculs à l’aide de valeurs spécifiques, appelées arguments, indiquées dans une structure ou un ordre précis. Les arguments peuvent être d’autres fonctions, une autre formule, des références de colonnes, des chiffres, un texte, des valeurs logiques telles que TRUE ou FALSE, ou encore des constantes.

DAX inclut les catégories de fonctions suivantes : Date et heure, Information, Logique, Mathématique, Statistique, Texte et fonctions Time Intelligence. Si vous connaissez les fonctions des formules Excel, plusieurs des fonctions vous sembleront familières dans DAX ; toutefois, les formules DAX sont uniques à de nombreux égards :

  • Une fonction DAX fait toujours référence à une table ou une colonne complète. Si vous souhaitez utiliser certaines valeurs particulières d’une table ou colonne, vous pouvez ajouter des filtres à la formule.

  • Si vous devez personnaliser des calculs en fonction de chaque ligne, DAX fournit des fonctions qui vous permettent d’utiliser la valeur de ligne actuelle ou une valeur associée en tant que genre d’argument pour effectuer des calculs qui varient selon le contexte. Vous en apprendrez plus sur le contexte dans la suite de ce didacticiel.

  • DAX inclut de nombreuses fonctions qui retournent une table, plutôt qu’une valeur. La table n’est pas affichée, mais elle est utilisée pour fournir une entrée à d’autres fonctions. Par exemple, vous pouvez récupérer une table, puis compter les valeurs distinctes qu’elle contient, ou calculer les sommes dynamiques entre les colonnes ou les tables filtrées.

  • DAX intègre une grande diversité de fonctions Time Intelligence. Ces fonctions vous permettent de définir ou de sélectionner des plages de dates et d’effectuer des calculs dynamiques basés sur ces informations. Par exemple, vous pouvez comparer les sommes sur des périodes parallèles.

Parfois, il est difficile de déterminer les fonctions dont vous pourriez avoir besoin dans une formule. Power Pivot, et le générateur de modèles tabulaires dans SQL Server Data Tools, intègrent la fonctionnalité Insérer une fonction, une boîte de dialogue qui vous aide à sélectionner des fonctions par catégorie et fournit de brèves descriptions pour chacune d’elles.

Insérer une fonction

Nous allons créer une nouvelle formule qui inclut une fonction que vous allez sélectionner en utilisant la fonctionnalité Insérer une fonction :

Tâche : ajouter une fonction dans une formule à l’aide de la fonctionnalité Insérer une fonction

  1. Dans la table FactSales, faites défiler jusqu’à la colonne la plus à droite, puis dans l’en-tête de colonne, cliquez sur Ajouter une colonne.

  2. Dans la barre de formule, tapez un signe égal, =.

  3. Cliquez sur le bouton Insérer une fonction. Insérer une fonction Cela permet d’ouvrir la boîte de dialogue Insérer une fonction.

  4. Dans la boîte de dialogue Insérer une fonction, cliquez sur la zone de liste Sélectionner une catégorie. Par défaut, l’option Tout est sélectionnée, et toutes les fonctions de la catégorie Tout sont répertoriées ci-dessous. Le nombre de fonctions étant très important, vous souhaiterez les filtrer afin de faciliter la recherche du type de fonction que vous recherchez.

  5. Pour cette formule, vous voulez retourner des données qui existent déjà dans une autre table. Pour ce faire, vous allez utiliser une fonction dans la catégorie Filtre. Cliquez sur la catégorie Filtre, puis dans Sélectionner une fonction, faites défiler la liste vers le bas et double-cliquez sur la fonction RELATED. Cliquez sur OK pour fermer la boîte de dialogue Insérer une fonction.

  6. Utilisez IntelliSense pour vous aider à trouver et à sélectionner la colonne DimChannel[ChannelName].

  7. Fermez la formule, puis appuyez sur Entrée.

  8. Une fois que vous avez appuyé sur Entrée pour terminer la formule, le message de calcul en cours s’affiche dans la barre d’état au bas de la fenêtre Power Pivot. Vous pouvez à présent constater que vous venez de créer une nouvelle colonne dans la table FactSales avec les informations de canal issues de la table DimChannel.

  9. Renommez la colonne Channel.

    Votre formule doit ressembler à ceci : =RELATED(DimChannel[ChannelName])

Vous venez de découvrir une autre fonction capitale dans DAX, la fonction RELATED. La fonction RELATED retourne des valeurs à partir d’une autre table. Vous pouvez utiliser RELATED dans la mesure où il existe une relation entre la table dans laquelle vous travaillez actuellement et la table qui contient les valeurs que vous souhaitez obtenir. Naturellement, la fonction RELATED présente d’immenses possibilités. Dans ce cas, vous pouvez désormais inclure le canal de vente pour chaque vente réalisée dans la table FactSales. Vous pouvez maintenant masquer la table DimChannel dans la liste de champs de tableau croisé dynamique, ce qui facilite la navigation et permet d’afficher uniquement les informations les plus importantes dont vous avez vraiment besoin. À l’instar de la fonction CALCULATE décrite précédemment, la fonction RELATED est très importante et vous l’utiliserez probablement à de nombreuses reprises.

Comme vous pouvez le voir, les fonctions DAX peuvent vous aider à créer des formules très puissantes. Nous avons seulement abordé les aspects fondamentaux des fonctions. À mesure que vos connaissances DAX vont s’améliorer, vous allez être amené à créer des formules à l’aide de nombreuses fonctions différentes. L’une des ressources les plus utiles pour en savoir plus sur l’ensemble des fonctions DAX est la Référence DAX (Data Analysis Expressions).

Test QuickQuiz sur les fonctions

  1. À quoi une fonction fait-elle toujours référence ?

  2. Une formule peut-elle contenir plusieurs fonctions ?

  3. Quelle catégorie de fonctions utiliseriez-vous pour concaténer deux chaînes de texte dans une seule chaîne ?

Les réponses sont fournies à la fin de cette rubrique.

Contexte

Le contexte est l’un des concepts DAX les plus importants à maîtriser. Il existe deux types de contexte dans DAX : le contexte de ligne et le contexte de filtre. Nous allons tout d’abord nous intéresser au contexte de ligne.

Contexte de ligne

Pour des raisons de simplicité, le contexte de ligne peut être considéré comme correspondant à la ligne actuelle. Par exemple, vous vous souvenez de la colonne calculée Margin que vous avez vue précédemment lors de la leçon sur la syntaxe ? La formule =[SalesAmount] - [TotalCost] calcule une valeur dans la colonne Margin pour chaque ligne de la table. Les valeurs de chaque ligne sont calculées à partir des valeurs de deux autres colonnes, [SalesAmount] et [TotalCost] dans la même ligne. DAX peut calculer les valeurs de chaque ligne dans la colonne Margin car il existe un contexte : pour chaque ligne, les valeurs de la colonne [TotalCost] sont prises en compte et soustraites des valeurs de la colonne [SalesAmount].

Dans la cellule sélectionnée indiquée ci-dessous, la valeur 49,54 $ dans la ligne actuelle a été calculée en soustrayant la valeur 51,54 $ dans la colonne [TotalCost] de la valeur 101,08 $ dans la colonne [SalesAmount].

Contexte de ligne dans PowerPivot

Contexte de ligne ne s'applique uniquement à des colonnes calculées. Contexte de ligne s'applique également chaque fois qu'une formule comporte une fonction qui applique des filtres pour identifier une seule ligne dans un tableau. La fonction s'appliquent, par nature, un contexte de ligne pour chaque ligne de la table sur laquelle il est filtré. Ce type de contexte de ligne s'applique souvent aux mesures.

Contexte de filtre

Le contexte de filtre est un peu plus difficile à comprendre que le contexte de ligne. Pour simplifier, essayez de vous représenter le contexte de filtre comme suit : un ou plusieurs filtres sont appliqués à un calcul qui détermine un résultat ou une valeur.

Le contexte de filtre ne remplace pas le contexte de ligne ; il s’applique en plus du contexte de ligne. Par exemple, pour restreindre les valeurs à inclure dans un calcul, vous pouvez appliquer un contexte de filtre qui spécifie non seulement le contexte de ligne, mais indique également une valeur particulière (filtre) dans ce contexte de ligne.

Le contexte de filtre est facilement observable dans des tableaux croisés dynamiques. Par exemple, lorsque vous ajoutez TotalCost à la zone Valeurs, puis ajoutez une année et une région à la ligne ou aux colonnes, vous définissez un contexte de filtre qui sélectionne un sous-ensemble de données par rapport à une année et à une région données.

Pourquoi le contexte de filtre est si important à DAX ? Car, alors que le contexte de filtre peut être appliqué plus facilement en ajoutant des colonnes et des étiquettes de ligne et des segments dans un tableau croisé dynamique, contexte de filtre peut également être appliqué dans une formule DAX en définissant un filtre à l'aide de fonctions telles que tous, associé, filtre, CALCULATE, par des relations et par d'autres mesures et les colonnes. Par exemple, nous allons étudier la formule suivante dans une mesure nommée StoreSales :

Formule

Visiblement, cette formule est plus complexe que certaines des autres formules que vous avez déjà vues. Toutefois, pour mieux comprendre cette formule, nous pouvons la décomposer, comme nous l’avons fait avec d’autres formules.

Cette formule contient les éléments de syntaxe suivants :

  1. Le nom de mesure, StoreSales, suivi de deux-points:.

  2. L’opérateur de signe égal (=) indique le début de la formule.

  3. La fonction CALCULATE évalue une expression, en tant qu’argument, dans un contexte modifié par les filtres spécifiés.

  4. Les parenthèses () délimitent un ou plusieurs arguments.

  5. Une mesure [Sales] dans la même table comme une expression. La mesure Sales comporte la formule: = SUM(FactSales[SalesAmount]).

  6. Une virgule (,) sépare chaque filtre.

  7. La colonne référencée et une valeur particulière DimChannel[ChannelName] =« Store », comme filtre.

Cette formule permet de garantir seulement les valeurs des ventes définies par la mesure Sales, en tant que filtre, sont calculées uniquement pour les lignes dans la colonne DimChannel [ChannelName] avec la valeur « Store » comme filtre.

Comme vous pouvez l’imaginer, le fait de pouvoir définir un contexte de filtre dans une formule représente une fonction majeure et puissante. Pouvoir faire référence à une valeur particulière uniquement dans une table associée ne constitue qu’un exemple de ce type. Ne vous inquiétez pas si vous ne comprenez pas encore tous les tenants et aboutissants du contexte. À mesure que vous créerez vos propres formules, vous comprendrez mieux le contexte et son importance dans DAX.

Test QuickQuiz sur le contexte

  1. Quels sont les deux types de contexte ?

  2. Qu’est-ce que le contexte de filtre ?

  3. Qu’est-ce que le contexte de ligne ?

Les réponses sont fournies à la fin de cette rubrique.

Résumé

Maintenant que vous avez une présentation basique des concepts plus importants dans DAX, vous pouvez commencer à créer des colonnes calculées et les mesures, les formules DAX vos propres. DAX bien peut être un peu difficile pour en savoir plus, mais il existe de nombreuses ressources à votre disposition. Une fois qu'en lisant cette rubrique quelques heures et vous avez testé certains de vos propres formules, vous pouvez en savoir plus sur les autres concepts DAX et les formules qui peuvent vous aider à résoudre les problèmes de votre propre entreprise. De nombreuses ressources DAX sont disponibles pour vous dans Power Pivot aide, documentation en ligne de SQL Server, livres blancs et des blogs Microsoft et professionnels BI non significatif. Le centre de ressources DAX Wiki (http://social.technet.microsoft.com/wiki/contents/articles/dax-resource-center.aspx) est un bon point de départ. Les Expressions DAX (Data Analysis) référence est également très utile. Veillez à enregistrer dans vos favoris.

Le livre blanc consacré à DAX dans le modèle tabulaire BI et accessible par téléchargement (http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409) fournit une description plus détaillée des concepts présentés ici, ainsi que de nombreux autres formules et concepts avancés. Ce livre blanc utilise également le même classeur d’exemple DAX Formulas.xlsx de Contoso que vous possédez déjà.

Réponses aux tests QuickQuiz

Syntaxe :

  1. Ouvre la fonctionnalité Insérer une fonction.

  2. Crochets [].

  3. =[UnitPrice] - [UnitCost]

Fonctions :

  1. Une table et une colonne.

  2. Oui. Une formule peut compter jusqu’à 64 fonctions imbriquées.

  3. Fonctions de texte.

Contexte :

  1. Contexte de ligne et contexte de filtre.

  2. Un ou plusieurs filtres dans un calcul qui détermine une valeur unique.

  3. La ligne actuelle.

Remarque : Avertissement traduction automatique : cet article a été traduit par un ordinateur, sans intervention humaine. Microsoft propose cette traduction automatique pour offrir aux personnes ne maîtrisant pas l’anglais l’accès au contenu relatif aux produits, services et technologies Microsoft. Comme cet article a été traduit automatiquement, il risque de contenir des erreurs de grammaire, de syntaxe ou de terminologie.

Développez vos compétences
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoignez le programme Office Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×