La première fonction à commencer à apprendre DAX est CALCULATE. Cette fonction n'a pas d'équivalent exact dans Excel, mais elle est comparable aux fonctions SUMIFS et COUNTIFS . En bref, cette fonction applique des filtres à d'autres fonctions de calcul, nous pouvons ainsi sélectionner et inclure dans les calculs uniquement les données dont nous avons besoin.
=CALCULATE(< expression statistique >, < filtre1 >, < filtre2 >, ...)
< expression statistique >
Expression statistique devrait nous renvoyer le résultat du calcul (une valeur, pas un tableau). Pour cette raison, des fonctions statistiques du type sont souvent utilisées dans ce cadre SUM , MINIMUM , MAXIMUM , PAYS etc.
< filtre1 >, < filtre2 >,...
Filtre définit la plage de données sur laquelle travailler. Les conditions de sélection des valeurs sont précisées ici.
Supposons que nous ayons une telle table, appelée
Créons un tableau récapitulatif basé sur celui-ci et comptons le nombre d'enregistrements pour chaque produit.
Créons maintenant un nouveau champ de calcul
Comment avons-nous obtenu les chiffres dans le champ de calcul Count_All_Product 16 ? L'explication est que nous avons supprimé pour ce champ tous les filtres qui étaient appliqués dans le tableau croisé dynamique (chaque ligne du tableau croisé dynamique est un filtre distinct), à l'aide de la fonction ALL() . Autrement dit, une fonction ALL (
Ajoutons un autre champ
On voit que les chiffres sont dans le champ
=CALCULATE(COUNTROWS(Demo);ALL(Demo[Product]))
Nous avons changé l'argument en fonction ALL() en remplaçant
Donc on voit ce qu'il y a sur le terrain