Excel DAX - Champs / mesures calculés

UNE calculated fielddans une table dans un modèle de données est le champ obtenu par une formule DAX. Dans les versions antérieures de Power Pivot, le champ calculé était appelé mesure. Dans Excel 2013, il a été renommé en tant que champ calculé. Cependant, il est renommé pour mesurer dans Excel 2016. Si vous vous référez à une documentation, vous pouvez observer un mélange de ces deux termes. Notez que les termes champ calculé et mesure sont synonymes. Dans ce tutoriel, nous utilisons le terme champ calculé.

Comprendre les champs calculés

Un champ calculé est une formule créée spécifiquement pour une utilisation dans un tableau croisé dynamique (ou un graphique croisé dynamique).

Vous pouvez créer un champ calculé basé sur des fonctions d'agrégation standard, telles que COUNT ou SUM, ou en définissant votre propre formule DAX.

Voici la différence entre le champ calculé et la colonne calculée -

  • Un champ calculé ne peut être utilisé que dans la zone VALEURS d'un tableau croisé dynamique.

  • Une colonne calculée avec les résultats calculés peut également être utilisée dans les zones ROWS, COLUMNS et FILTERS.

Enregistrement du champ calculé

Le champ calculé sera enregistré avec sa table source dans le modèle de données. Il apparaît dans la liste des champs de tableau croisé dynamique ou Power PivotChart en tant que champ dans le tableau.

Utilisation d'un champ calculé

Pour utiliser un champ calculé, vous devez le sélectionner dans la liste Champs de tableau croisé dynamique Power. Le champ calculé sera ajouté à la zone VALUES et la formule utilisée pour le champ calculé sera évaluée. Un résultat est créé pour chaque combinaison de champs de ligne et de colonne.

Champ calculé - Un exemple

Considérez le modèle de données suivant pour les données olympiques -

Comme le montre la capture d'écran ci-dessus, le tableau des résultats contient un champ Médaille qui contient les valeurs - Or, Argent ou Bronze pour chacune des lignes contenant la combinaison Sport - Événement - Pays - Date. Supposons que vous vouliez un nombre de médailles pour chaque pays, vous pouvez alors créer un champ calculé Nombre de médailles avec la formule DAX suivante -

Medal Count := COUNTA([Medal])

Création d'un champ calculé dans une table

Pour créer le champ calculé Nombre de médailles dans le tableau Résultats, procédez comme suit:

  • Cliquez sur la cellule dans la zone de calcul sous la colonne Médaille dans le tableau Résultats. La cellule sera mise en évidence.

  • Tapez Medal Count: = COUNTA ([Medal]) dans la barre de formule.

Appuyez sur Entrée.

Comme le montre la capture d'écran ci-dessus, le champ calculé apparaît dans la cellule sélectionnée, affichant la valeur 34 094. Ce nombre correspond au nombre total de lignes dans le tableau Résultats. Par conséquent, cela n'a pas beaucoup de sens au premier regard. Comme indiqué précédemment, l'utilisation réelle d'un champ calculé ne peut être vue qu'en l'ajoutant à un tableau croisé dynamique ou à un graphique croisé dynamique.

Utilisation du champ calculé dans un tableau croisé dynamique

Pour utiliser le champ calculé pour compter le nombre de médailles pour chaque pays, procédez comme suit:

  • Cliquez sur le tableau croisé dynamique sur le ruban dans la fenêtre Power Pivot.
  • Cliquez sur le tableau croisé dynamique dans la liste déroulante.

La boîte de dialogue Créer un tableau croisé dynamique s'affiche.

  • Cliquez sur la feuille de calcul existante.
  • Sélectionnez l'emplacement où vous souhaitez placer le tableau croisé dynamique.

Un tableau croisé dynamique vide sera créé.

  • Cliquez sur le tableau Résultats dans la liste Champs de tableau croisé dynamique.
  • Cliquez sur les champs - Pays et nombre de médailles.

Comme vous pouvez le constater, le nombre de médailles est ajouté à la zone VALEURS et le pays est ajouté à la zone ROWS. Le tableau croisé dynamique est créé avec les valeurs de pays de champ apparaissant dans les lignes. Et pour chaque ligne, la valeur du nombre de médailles est calculée et affichée. C'est ainsi que le champ calculé évalue la formule DAX utilisée et affiche les valeurs.

  • Ajoutez le champ Sport du tableau des résultats à la zone ROWS.

Comme vous pouvez le voir dans la capture d'écran ci-dessus, le décompte des médailles est calculé pour chaque pays - par sport et un sous-total pour le pays lui-même.

C'est ainsi que DAX complète les fonctionnalités Power.

Types de champs calculés

Il existe deux types de champs calculés: implicites et explicites.

  • Un implicit calculated field est créé dans le volet de liste Champs de tableau croisé dynamique Power.

  • Un explicit calculated field est créé dans le tableau de la fenêtre Power Pivot ou à partir du ruban PowerPivot de la fenêtre Excel.

Création d'un champ calculé implicite

Un champ calculé implicite peut être créé de deux manières, dans le volet Champs de tableau croisé dynamique Power.

Création d'un champ calculé implicite dans la liste des champs de tableau croisé dynamique

Vous pouvez créer le champ Nombre de médailles à partir du champ Médaille dans la liste Champs de tableau croisé dynamique comme suit -

  • Désélectionnez le champ Nombre de médailles.
  • Faites un clic droit sur le champ Médaille.
  • Cliquez sur Ajouter aux valeurs dans la liste déroulante.

Le nombre de médailles apparaît dans la zone Valeurs. La colonne Nombre de médailles sera ajoutée au tableau croisé dynamique.

Création d'un champ calculé implicite dans la zone VALUES

Vous pouvez créer un champ calculé implicite -% de la ligne parent dans la zone Valeurs pour exprimer le nombre de médailles de chaque sport qu'un pays a gagné en pourcentage du nombre total de médailles remportées par ce pays.

  • Cliquez sur la flèche vers le bas dans la zone Nombre de médailles dans la zone VALEURS.
  • Cliquez sur les paramètres du champ de valeur dans la liste déroulante.

La boîte de dialogue Paramètres du champ de valeur s'affiche.

  • Tapez% médailles dans la zone Nom personnalisé.
  • Cliquez sur l'onglet Afficher les valeurs sous.
  • Cliquez sur la case sous Afficher les valeurs sous.
  • Cliquez sur le% du total de la ligne parent.
  • Cliquez sur le bouton Format des nombres.

La boîte de dialogue Format des cellules s'affiche.

  • Cliquez sur Pourcentage.
  • Tapez 0 entre décimales.
  • Cliquez sur OK.
  • Cliquez sur OK dans la boîte de dialogue Paramètres du champ de valeur.
  • Sélectionnez Ne pas afficher les sous-totaux.

Vous avez créé un autre champ calculé implicite% Médailles et comme vous pouvez le constater, pour chaque pays, le pourcentage de médailles par sport est affiché.

Inconvénients d'un champ calculé implicite

Les champs calculés implicites sont faciles à créer. En fait, vous les avez créés même dans les tableaux croisés dynamiques et les graphiques croisés dynamiques Excel. Mais, ils présentent les inconvénients suivants -

  • They are volatile. Cela signifie que si vous désélectionnez le champ que vous avez utilisé pour le champ calculé, il sera supprimé. Si vous souhaitez l'afficher à nouveau, vous devez le créer à nouveau.

  • Their scope is limitedau tableau croisé dynamique ou au graphique croisé dynamique dans lequel ils sont créés. Si vous créez un autre tableau croisé dynamique dans une autre feuille de calcul, vous devez créer à nouveau le champ calculé.

D'autre part, les champs calculés explicites seront enregistrés avec la table et seront disponibles chaque fois que vous sélectionnez cette table.

Création d'un champ calculé explicite

Vous pouvez créer un champ calculé explicite de deux manières -

  • Dans la zone de calcul dans un tableau du modèle de données. Vous l'avez déjà appris dans la section - Création d'un champ calculé dans une table.

  • À partir du ruban PowerPivot dans le tableau Excel. Vous apprendrez cette façon de créer un champ calculé explicite dans la section suivante.

Création d'un champ calculé explicite à partir du ruban PowerPivot

Pour créer un champ calculé explicite à partir du ruban PowerPivot, procédez comme suit:

  • Cliquez sur l'onglet POWERPIVOT sur le ruban dans votre classeur.
  • Cliquez sur les champs calculés dans la zone Calculs.
  • Cliquez sur le nouveau champ calculé dans la liste déroulante.

La boîte de dialogue Champ calculé s'affiche.

  • Remplissez les informations requises comme indiqué dans la capture d'écran suivante.
  • Cliquez sur le bouton Vérifier la formule.
  • Cliquez sur OK uniquement s'il n'y a aucune erreur dans la formule.

Comme vous pouvez le constater, vous pouvez définir la catégorie et le format du champ calculé dans cette boîte de dialogue. En outre, vous pouvez utiliser la fonctionnalité IntelliSense pour comprendre l'utilisation des fonctions et utiliser la fonctionnalité de saisie semi-automatique pour compléter facilement les noms des fonctions, des tables et des colonnes. Pour plus de détails sur la fonctionnalité IntelliSense, reportez-vous au chapitre - Formules DAX .

Il s'agit d'une méthode recommandée pour créer des champs calculés explicites.