Didacticiel : création de colonnes calculées dans Power BI Desktop

Parfois, les données que vous analysez ne contiennent pas un champ particulier dont vous avez besoin pour obtenir les résultats souhaités. Dans ce cas, des colonnes calculées sont utiles. Les colonnes calculées utilisent des formules DAX (Data Analysis Expressions) pour définir les valeurs d’une colonne. Cet outil sert à tout, qu’il s’agisse d’assembler des valeurs textuelles provenant de deux colonnes différentes ou de calculer une valeur numérique à partir d’autres valeurs. Par exemple, supposons que vos données incluent des champs Ville et État, mais que vous voulez un champ Emplacement unique qui possède ces deux informations, par exemple « Miami, FL ».

Les colonnes calculées sont semblables aux mesures, dans le sens où toutes deux reposent sur des formules DAX, mais elles diffèrent dans la manière dont elles sont utilisées. Vous utilisez souvent des mesures dans une zone Valeurs d’une visualisation pour calculer les résultats en fonction des autres champs. Vous utilisez des colonnes calculées en tant que nouveaux Champs dans les lignes, les axes, les légendes et les zones de groupes de visualisations.

Ce tutoriel va vous aider à comprendre et à créer les colonnes calculées et à les utiliser dans des visualisations de rapports dans Power BI Desktop.

Prérequis

  • Ce didacticiel s’adresse aux utilisateurs de Power BI déjà familiarisés avec l’utilisation de Power BI Desktop pour créer des modèles plus avancés. Vous devez déjà savoir comment utiliser Obtenir des données et l’Éditeur Power Query pour importer des données, travailler sur plusieurs tables associées et ajouter des champs au canevas de rapport. Si vous découvrez seulement Power BI Desktop, veillez à consulter Prise en main de Power BI Desktop.

  • Ce tutoriel utilise l’exemple de vente Contoso pour Power BI Desktop, le même utilisé pour le tutoriel Créer vos propres mesures dans Power BI Desktop. Ces données de ventes de la société fictive Contoso, Inc. ont été importées à partir d’une base de données. Vous ne pourrez pas vous connecter à la source de données ou visualiser celle-ci dans l’éditeur Power Query. Téléchargez et extrayez le fichier sur votre propre ordinateur, puis ouvrez-le dans Power BI Desktop.

Dans votre rapport de ventes, vous souhaitez afficher des catégories et des sous-catégories de produits sous des valeurs uniques, comme par exemple « Téléphones mobiles – Accessoires », « Téléphones mobiles – Smartphones et PDA », et ainsi de suite. Il n’existe aucun champ dans la liste Champs qui vous donne ces données, mais il existe un champ ProductCategory et un champ ProductSubcategory, chacun dans sa propre table. Vous pouvez créer une colonne calculée qui combine les valeurs de ces deux colonnes. Les formules DAX peuvent tirer profit de la pleine puissance du modèle que vous possédez déjà, y compris les relations entre les différentes tables existantes.

Capture d’écran de Colonnes dans la liste Champs.

  1. Pour créer votre nouvelle colonne dans la table ProductSubcategory, cliquez avec le bouton droit sur les points de suspension ... (ou sélectionnez) en regard de ProductSubcategory dans le volet Champs, puis choisissez Nouvelle colonne dans le menu.

    Capture d’écran de Nouvelle colonne dans le menu déroulant.

    Quand vous choisissez Nouvelle colonne, la barre de formule apparaît au-dessus du canevas de rapport, où vous pouvez nommer votre colonne et entrer une formule DAX.

    Capture d’écran de la barre de formule.

  2. Par défaut, une nouvelle colonne calculée est nommée Colonne. Si vous ne la renommez pas, les nouvelles colonnes seront nommées Colonne 2, Colonne 3 et ainsi de suite. Si vous voulez que votre colonne soit plus identifiable, dans la barre de formule où le nom Colonne est déjà en surbrillance, renommez-la en tapant ProductFullCategory, puis tapez un signe égal (=).

  3. Les valeurs de votre nouvelle colonne doivent commencer par le nom figurant dans le champ ProductCategory. Comme cette colonne figure dans une table différente, bien qu’associée, vous pouvez utiliser la fonction RELATED pour l’obtenir.

    Après le signe égal, saisissez r. Une liste déroulante de suggestions affiche toutes les fonctions DAX commençant par la lettre R. La sélection de chaque fonction permet d’afficher une description de ses effets. La saisie permet de mettre à l’échelle la liste de suggestions au plus proche de la fonction dont vous avez besoin. Sélectionnez RELATED, puis appuyez sur Entrée.

    Capture d’écran de RELATED choisi dans la barre de formule.

    Une parenthèse ouvrante apparaît avec une autre liste de suggestions des colonnes associées, que vous pouvez passer à la fonction RELATED, avec les descriptions et les détails des paramètres attendus.

    Capture d’écran de ProductCategory choisi dans la barre de formule pour la fonction Related.

  4. Vous souhaitez la colonne ProductCategory de la table ProductCategory. Sélectionnez ProductCategory[ProductCategory], appuyez sur Entrée, puis saisissez un type de parenthèse fermante.

    Conseil

    Les erreurs de syntaxe sont le plus souvent provoquées par une parenthèse fermante manquante ou mal placée, bien que parfois Power BI Desktop l’ajoute pour vous.

  5. Vous voulez séparer par des tirets et des espaces ProductCategories et ProductSubcategories dans les nouvelles valeurs : après la parenthèse fermante de la première expression, tapez un espace, une esperluette (&), un guillemet double ("), un espace, un tiret (-), un autre espace, un autre guillemet double et une autre esperluette. La formule doit maintenant ressembler à ceci :

    ProductFullCategory = RELATED(ProductCategory[ProductCategory]) & " - " &

    Conseil

    S’il vous faut plus d’espace, sélectionnez le chevron vers le bas situé à droite de la barre de formules pour développer l’éditeur de formules. Dans l’éditeur, appuyez sur Alt et Entrée pour descendre d’une ligne et sur Tab pour déplacer les éléments.

  6. Saisissez un crochet ouvrant ([), puis sélectionnez la colonne [ProductSubcategory] pour finir la formule.

    Capture d’écran de ProductCategory choisi pour la formule.

    Il n’est pas nécessaire d’utiliser une autre fonction RELATED pour appeler la table ProductSubcategory dans la deuxième expression, car vous créez la colonne calculée dans cette table. Vous pouvez entrer [ProductSubCategory] avec le préfixe du nom de la table (pleinement qualifié) ou sans (non qualifié).

  7. Complétez la formule en appuyant sur Entrée ou en sélectionnant la coche dans la barre de formules. Une fois la formule validée, le nom de colonne ProductFullCategory apparaît dans la table ProductSubcategory dans le volet Champs.

    Capture d’écran de la colonne ProductFullCategory terminée.

    Notes

    Dans Power BI Desktop, les colonnes calculées sont associées à une icône spéciale dans le volet Champs, qui indique qu’elles contiennent des formules. Dans le service PowerBI (votre site Power BI), il n’existe aucun moyen pour modifier des formules. Les colonnes calculées n’ont donc pas d’icônes.

Utiliser votre nouvelle colonne dans un rapport

Maintenant, vous pouvez utiliser votre nouvelle colonne ProductFullCategory pour afficher SalesAmount par ProductFullCategory.

  1. Sélectionnez ou faites glisser la colonne ProductFullCategory de la table ProductSubcategory vers le canevas de rapport pour créer une table présentant tous les noms de ProductFullCategory.

    Capture d’écran de la table ProductFullCategory.

  2. Sélectionnez ou faites glisser le champ SalesAmount de la table Sales vers la table pour afficher SalesAmount pour chaque ProductFullCategory.

    Capture d’écran de la table SalesAmount by ProductFullCategory.

Créer une colonne calculée qui utilise une fonction IF

L’exemple de vente Contoso contient les données de ventes des magasins actifs et inactifs. Vous pouvez séparer clairement les ventes des magasins actifs des ventes des magasins inactifs dans votre rapport en créant un champ Active StoreName. Dans la nouvelle colonne calculée Active StoreName, chaque magasin actif apparaîtra avec le nom complet du magasin, tandis que les ventes des magasins inactifs seront regroupées dans une ligne appelée Inactive.

Heureusement, la table Stores contient une colonne nommée Status, avec les valeurs « On » pour les magasins actifs et « Off » pour les magasins inactifs, que nous pouvons utiliser pour créer les valeurs de la nouvelle colonne Active StoreName. Votre formule DAX utilise la fonction logique IF pour tester l’état (Status) de chaque magasin et retourner une valeur particulière selon le résultat. Si la valeur Status d’un magasin est « On », la formule retourne le nom du magasin. Si la valeur est « Off », la formule attribue à Active StoreName la valeur « Inactive ».

  1. Créez une nouvelle colonne calculée dans la table Magasins et nommez-la Active StoreName dans la barre de formules.

  2. Après le signe =, commencez à taper IF. La liste de suggestions vous montre ce que vous pouvez ajouter. Sélectionnez IF.

    Capture d’écran de IF sélectionné dans la barre de formule.

  3. Le premier argument pour IF est un test logique qui vise à déterminer si la valeur Status d’un magasin est « On ». Tapez un crochet ouvrant [ pour lister les colonnes de la table Stores, puis sélectionnez [Status].

    Capture d’écran de Status sélectionné pour la fonction IF dans la barre de formule.

  4. Juste après [État], saisissez = « Activé », puis saisissez une virgule (,) à la fin de l’argument. L’info-bulle suggère que vous devez maintenant ajouter une valeur de retour lorsque le résultat est TRUE.

    Capture d’écran de On ajouté à la formule.

  5. Si l’état du magasin est « Activé », vous souhaitez afficher le nom du magasin. Saisissez un crochet ouvrant ([) et sélectionnez la colonne [StoreName], puis saisissez une autre virgule. L’info-bulle indique à présent que vous devez ajouter une valeur de retour lorsque le résultat est FALSE.

    Capture d’écran de la colonne StoreName ajoutée à la formule.

  6. Comme vous souhaitez que la valeur soit « Inactive », tapez « Inactive », puis complétez la formule en appuyant sur Entrée ou en sélectionnant la coche dans la barre de formule. Une fois la formule validée, le nom de la nouvelle colonne apparaît dans la table Stores dans le volet Champs.

    Capture d’écran de la formule terminée et de la colonne Active StoreName ajoutée au volet Champs.

  7. Vous pouvez utiliser votre nouvelle colonne Active StoreName dans les visualisations comme n’importe quel autre champ. Pour afficher SalesAmounts par Active StoreName, sélectionnez le champ Active StoreName ou faites-le glisser vers le canevas de rapport, puis choisissez le champ SalesAmount ou faites-le glisser dans la table. Dans cette table, les magasins actifs apparaissent individuellement par nom, mais les magasins inactifs sont rassemblés à la fin comme Inactif.

    Capture d’écran de la table SalesAmount by Active StoreName.

Ce que vous avez appris

Les colonnes calculées peuvent enrichir vos données en favorisant des insights simplifiés. Vous avez appris à créer des colonnes calculées dans le volet Champs et la barre de formule, à utiliser des listes de suggestions et des info-bulles pour vous aider à construire des formules, à appeler des fonctions DAX comme RELATED et IF avec les arguments appropriés et à utiliser vos colonnes calculées dans des visualisations de rapport.

Si vous souhaitez approfondir vos connaissances des formules DAX et créer des colonnes calculées avec des formules plus avancées, consultez Informations de base sur DAX dans Power BI Desktop. Cet article porte sur les concepts fondamentaux propres à DAX, tels que la syntaxe, les fonctions et une compréhension plus approfondie du contexte.

Pensez à ajouter la page Informations de référence sur DAX (Data Analysis Expressions) à vos favoris. Vous y trouverez des informations détaillées sur la syntaxe DAX, les opérateurs et plus de 200 fonctions DAX.

Autres articles d’intérêt :