[PowerBI][DAX] – Comment compter le nombre de ligne d’une table ?

0
257
powerbi dax countrows
Relations entres les tables 1 à n

La fonctione COUNTROW permet de compter le nombre de ligne d’une table.

SYNTAXE : COUNTROW (Table)

Dans l’exemple du modèle de données ci-dessus, on peut compter le nombre de commande par mode de paiement, Vendeurs, Clients ou encore par date.
Mais on ne pourra pas avoir le nombre de commande par livre ou par catégorie de livre.
En effet dans le premier cas (rectangle rouge), les relations entres les tables Paiement, Vendeurs, Clients, Table Dates et la table Commandes, vont dans un sens 1 à n.

Dans le second cas (rectangle vert), le sens de la relation est différent.
Dans PowerBI, le filtrage ne concerne que les relations 1 à n.
Dans notre exemple la relation entre la table des commandes et la tables des livres empeche le filtrage.

 

powerbi dax countrows relations

Dans l’exemple ci-dessus, seuls les filtres Nom vendeur et Libellé paiement vont permettre de filtrer le nombre de commande.

powerbi dax countrows table affectée

Quand je cherche à afficher le nombre de commande par client et le nombre de commande par livre, on remarque que le nombre de commande par client est bon contrairement au second tableau.

Et si je tente de filtrer le nombre de commande par client par le filtre libellé catégorie,
cela ne fonctionne pas. Le filtre n’impacte pas le nombre de commande à cause de la table Détails commandes.

Alors comment faire pour compter le nombre de commandes en tenant compte du filtre du rapport ?

Il s’agit pour cela de descendre jusqu’à la table Détails commandes :

Compteur = COUNTROW(‘Détails des commandes’)

powerbi dax countrows table details commandes

Concernant le compteur de la table client, la valeur Compteur compte le nombre de lignes de détails des commandes. Mais le client ABO001 n’a pas passé 6 commandes.

Pour connaitre le nombre de commandes passées par un client dans les catégories selectionnées, il faut compter le nombre de valeur distinctes du numéro de commandes dans la table Détails des commandes.

Compteur = DISTINCTCOUNT(‘Détail des commandes’ [N° commande] )

powerbi dax distinctcount filtrer

Le client ABO001 a donc passé 4 commandes sans filtrer par la catégorie Litterature.

LEAVE A REPLY

Please enter your comment!
Please enter your name here