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.

Screenshot of Columns in the Fields list.
  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.
  2. Screenshot of New Column in the drop-down menu.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.Screenshot of the Formula bar.
  3. 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 2Colonne 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 (=).
  4. 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.Screenshot of RELATED chosen in the Formula bar.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.Screenshot of ProductCategory chosen in the Formula bar for the Related function.
  5. 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. ConseilLes 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.
  6. Vous avez tout intérêt à séparer les nouvelles valeurs de ProductCategoriy et ProductSubcategory avec des tirets et des espaces. Ainsi, 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]) & " - " & ConseilS’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.
  7. Saisissez un crochet ouvrant ([), puis sélectionnez la colonne [ProductSubcategory] pour finir la formule.Screenshot of ProductCategory chosen for the formula.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é).
  8. 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.Screenshot of the finished ProductFullCategory column. NotesDans 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.Screenshot of the ProductFullCategory table.
  2. Sélectionnez ou faites glisser le champ SalesAmount de la table Sales vers la table pour afficher SalesAmount pour chaque ProductFullCategory.Screenshot of the SalesAmount by ProductFullCategory table.

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.Screenshot of the IF selected in the formula bar.
  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].Screenshot of Status selected for the IF function in the formula bar.
  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.Screenshot of On added to the formula.
  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.Screenshot of the StoreName column added to the formula.
  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.Screenshot of the completed formula and Active StoreName column added to the Fields pane.
  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.
  8. Screenshot of the SalesAmount by Active StoreName table.

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.

Étapes suivantes

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.