Utiliser COUNTROWS à la place de COUNT

En tant que modeleur de données, vous pouvez parfois avoir besoin d’écrire une expression DAX qui compte les lignes de la table. La table peut être une table de modèle ou une expression qui retourne une table.

Cette condition peut être remplie de deux manières. Vous pouvez utiliser la fonction COUNT pour compter les valeurs de colonne ou vous pouvez utiliser la fonction COUNTROWS pour compter les lignes de la table. Les deux fonctions aboutissent au même résultat, dans la mesure où la colonne comptée ne contient pas de valeurs BLANK.

La définition de mesure suivante présente un exemple. Elle calcule le nombre de valeurs de colonne OrderDate.

Sales Orders =
COUNT(Sales[OrderDate])

Si la précision de la table Sales correspond à une seule ligne par commande et que la colonne OrderDate ne contient pas de valeurs BLANK, alors la mesure retourne un résultat correct.

Toutefois, la définition de mesure suivante est une meilleure solution.

Sales Orders =
COUNTROWS(Sales)

Il existe trois raisons pour lesquelles la deuxième définition de mesure est meilleure :

  • Elle est plus efficace et elle est donc plus performante.
  • Elle ne tient pas compte des valeurs BLANK contenues dans les colonnes de la table.
  • L’objectif de la formule est plus clair et parvient à s’autodécrire.

Recommandation

Lorsque vous avez l’intention de compter les lignes de la table, il est recommandé de toujours utiliser la fonction COUNTROWS.