Comment obtenir le nombre de clients uniques par exemple et non le nombres de lignes.
Solution dans les versions antérieures à 2013 :
Cela n'étant pas prévu dans le mode de calcul des TCD, la solution consiste à ajouter une colonne calculée dans les données sources.
Outre l'éventuel temps de calcul si la base est importante, cette solution a également l'inconvénient de devoir prévoir une formule calquée sur la structure que l'on donnera au TCD.
Par exemple, sur un lot de factures, selon que l'on veut calculer le nombre de clients distincts
sur l'ensemble ou mois par mois, la formule ne sera pas la même.
Le principe est de diviser 1 par le nombre de fois où la donnée concernée par le dénombrement distinct est présente dans la source ou dans le sous-ensemble, mois par exemple.
Dans le tableau source suivant :
- pour obtenir le nombre de clients distincts par produit, sans autre analyse dans le TCD, nous aurons la formule suivante :
=1/NB.SI.ENS([Client];[@Client];[Produit];[@Produit])
- pour obtenir le nombre de clients distincts par catégorie, nous aurons la formule suivante :
=1/NB.SI.ENS([Client];[@Client];[Catégorie];[@Catégorie])
-
pour obtenir le nombre de clients distincts par mois, nous aurons la formule suivante :
=1/SOMMEPROD(([Client]=[@Client])*(MOIS([Date commande])=MOIS([@[Date commande]])))
-
pour obtenir le nombre de clients distincts par mois et catégorie :
=1/SOMMEPROD(([Client]=[@Client])*(MOIS([Date commande])=MOIS([@[Date commande]]))*([Catégorie]=[@Catégorie]))
Ces formules dépendront du TCD souhaité :
A noter que les totaux sont l'addition des valeurs ce qui est inexact car il y a en tout 16 clients distincts dans la source.
Solution dans la version 2013 ou + :
L'intégration de PowerPivot dans la version 2013 permet de bénéficier d'un nouveau calcul statistique : le total distinct sous réserve de bien mettre la source sous forme de tableau et d'ajouter le tableau au modèle de données.
Cependant, PowerPivot ne permettant pas de grouper les dates par mois dans les versions 2013 et 2016, si nous voulons une analyse mensuelle, il faut
- soit
ajouter le calcul du mois dans le tableau source si on ne dispose pas de la version Pro Plus :
=TEXTE([@[Date commande]];"mm-mmm")
- soit établir une relation avec une table calendrier dans le cas d'une version Pro Plus.
- On peut également créer un calendrier dans un autre onglet du classeur pour le mettre en relation avec notre tableau source
si on ne dispose pas de la version Pro Plus.
Les même TCD réalisés grâce à PowerPivot auront un total exact car le client unique est distingué sur l'ensemble de l'année et non compté chaque mois.
A noter que cette solution est applicable dans Excel 2010 avec l'add on Powerpivot et une formule DAX DISTINCTCOUNT.