XL 2016 TCD & Distinctcount

merinos

XLDnaute Accro
Salut

Je bloque depuis 2 jours sur une methode de calcul du nombre de client dans un pivot.

j'ai deja integré le fait de devoir utiliser les POWERPIVOT afin de pouvoir employer la formule

quand je calcule POUR UN client donné le nombre de client... je n'obient pas un.
=CALCULATE(DISTINCTCOUNT(Range[New Customer]),not(Range[New Customer]=""))
En fait j'obtiens le nombre de client pour un vendeur...
(7+7+7+7+7+7+7=7 lol)

mais avec la même formule, si je calcule le nombre de produit different,
=CALCULATE(DISTINCTCOUNT(Range[produit]),not(Range[produit]=""))
j'obtiens bien 1, 2 ou 3 ... par client et par vendeur...

J'ai du rater un train dans les info lues...

Merci

Merinos
 

Pièces jointes

  • PIVOT CLIENT UNIQUE.xlsx
    235.9 KB · Affichages: 32

merinos

XLDnaute Accro
info supplementaire et qui ajoute a ma confusion:

Si j'ajoute un niveau dans le TCD, j'ai bien le bon resultat....

ici j'ajoute le niveau "ancien client... qui est pratiquement toujours le même que le niveau client...
en bas du TCD il y a quelques client qui ont 2 numero ancien_client...

Merinos
 

Pièces jointes

  • PIVOT CLIENT UNIQUE modif.xlsx
    243.9 KB · Affichages: 43
Dernière édition:

chris

XLDnaute Barbatruc
Bonjour

Si tu es passé à 2016 modifie ton profil.

Mon niveau PowerPivot est basique mais je trouve bizarre le
Code:
not(Range[New Customer]="")
: où as-tu trouvé cette syntaxe ?

Si on l'enlève les calculs sont bons mais il faut filtrer le TCD pour le client vide.

Ce qui parait normal car le calcul dépend du contexte, le contexte étant ce qu'affiche le tcd...
 

Amilo

XLDnaute Accro
Bonsoir le forum,

Sans passer par les mesures, essayez de recréer votre TCD dans Powerpivot même,
Dans une des cellules des valeurs du TCD dans "clients" par exemple, faites clic droit et sélectionnez "Paramètres des champs de valeurs" puis tout en bas de liste déroulante sélectionnez "Total distinct" sous le titre "Choisissez le type de calcul....."

Cordialement
 

merinos

XLDnaute Accro
Bonjour
Si tu es passé à 2016 modifie ton profil.


Je vais vérifier la version la maison... mais là je suis pour quelque temps chez un client qui emploie Excel_2016. Quand je suis dans le bâtiment a coté (une semaine par mois), je suis sur Excel_2007 ...


Mon niveau PowerPivot est basique mais je trouve bizarre le
Code:
not(Range[New Customer]="")
: où as-tu trouvé cette syntaxe ?

Si on l'enlève les calculs sont bons mais il faut filtrer le TCD pour le client vide.

Ce qui parait normal car le calcul dépend du contexte, le contexte étant ce qu'affiche le tcd...

Certains clients ont un numéro de client... d'autres achètent en indirect, ne sont pas visités, mais leur chiffre rentre dans les stats des vendeurs... bref on fait bien la somme des valeurs mais on ne compte pas les blancs comme des points de ventes visités.

C'est tordu, mais c'est comme cela. Merci d'avoir regardé ma demande.

Merinos
 

merinos

XLDnaute Accro
Sans passer par les mesures, essayez de recréer votre TCD dans Powerpivot même,
Dans une des cellules des valeurs du TCD dans "clients" par exemple, faites clic droit et sélectionnez "Paramètres des champs de valeurs" puis tout en bas de liste déroulante sélectionnez "Total distinct" sous le titre "Choisissez le type de calcul....."

J'aime les info donnant une piste via les fonctionnalités d'Excel...
Je vais essayer sur cette base....

=> question en attente.

Merci,
Merinos
 

chris

XLDnaute Barbatruc
Re

Les spécialistes PowerPivot conseillent de créer de mesures explicites ici
=CALCULATE(DISTINCTCOUNT(Range[New Customer]))
et idem pour produit
plutôt que d'utiliser les mesures implicites : celles habituelles dans les TCD Excel

Quoi qu'il en soit, la proposition d'Amilo revient au même.

Mon propos était l'exclusion via not dans ta mesure, qui interfère avec la notion de contexte et qu'il suffit d'enlever.

Néanmoins si tu compte les clients uniques, placer le N° de client dans le TCD donne forcément 1 à chaque ligne.

J'imagine que c'était pour illustrer ton souci...
 

merinos

XLDnaute Accro
Néanmoins si tu compte les clients uniques, placer le N° de client dans le TCD donne forcément 1 à chaque ligne.

J'imagine que c'était pour illustrer ton souci...

En fait le tableau est utilisé montrant les chiffres par groupe de client (tous ceux d'un vendeur,..) dont on exclus ceux qui n'ont pas de serial. Puis on peut ouvrir (expand) un vendeur et voir les produits par client... mais si on voit que le client existe 7 fois, c'est pas beau pas beau. C'est même vilain.

En explicitant ma demande je n'ai pas explicité correctement (mea culpa).

Effectivement cela fait bizarre de montrer des "1" ... mais à ce moment-là on regarde les autres colonnes et ne pas voir "1" est perturbant. On est censé voir "1".

J'ai une méthode contournant le problème: dans les data j'ajoute client2 (qui contient la même valeur que client) et je compte le nombre de client et j'affiche par client2... ce qui fait "7" se divise bien en sept lignes de "1"...


Merci

Merinos
 

chris

XLDnaute Barbatruc
Re

La question de fond n'est pas de voir ou ne pas voir 1, mais d'avoir un calcul exact.

Attention aux bricolages : bien qu'ayant un bon niveau d'expertise en TCD et en bases de données relationnelles, j'ai souvent rencontré des difficultés avec PowerPivot : d'une part un cube n'est pas une base de données relationnelle et d'autre part la notion de contexte.
Il faut donc être très prudent car si on ne maîtrise pas la portée de ce qu'on bricole, on peut avoir des résultats totalement faux.

Si tu veux éliminer les clients sans sérial, ajoute plutôt une colonne qui renvoie 1 ou 0 dans tes données (Excel ou seulement PowerPivot) et utlise-là en filtre dans le champ de page.

Un filtre dans une mesure de TCD ne filtre pas le TCD, il modifie la façon de calculer...
 

Amilo

XLDnaute Accro
Bonsoir le forum, bonsoir Chris,

Les spécialistes PowerPivot conseillent de créer de mesures explicites ici
=CALCULATE(DISTINCTCOUNT(Range[New Customer]))
et idem pour produit
plutôt que d'utiliser les mesures implicites : celles habituelles dans les TCD Excel

Juste pour rebondir à votre remarque ci-dessus que je partage entièrement dans le sens où les mesures explicites sont à privilégier au détriment des mesures implicites.

Sauf erreur de ma part, les mesures implicites à utiliser avec "modération" voire à éviter dans Powerpivot sont plutôt, l'ajout d'une ou de plusieurs colonnes calculées dans lesquelles une formule est recopiée sur l'ensemble des lignes de la colonne calculée, contrairement aux mesures explicites qui sont créés que dans une cellule en dehors du tableau de base comme réalisées par mérinos.
Cependant, dans l'exemple à merinos, il n'y a aucune colonne ajoutée via une formule.

Mais n'étant pas un spécialiste...je peux me tromper en avançant cela.

Cordialement
 

chris

XLDnaute Barbatruc
Bonjour

En fait dans le super bouquin de Robert Collie, un des grands spécialistes PowerPivot, il appelle mesure explicite un calcul DAX de somme, nombre ou autre, par opposition aux calculs proposés classiquement dans les options de champs de valeur, appelés mesures implicites.

Le résultat du calcul est le même mais il montre que les mesures explicites dans les TCD (qui s'affichent de toute façon dans une seule cellule dans l’interface de PowerPivot) permettent une démarche plus intéressante notamment sur l'enchainement de calculs successifs.

Le calcul, dans le modèle de données sur des colonnes entières ajoutées, par des formules DAX, ont aussi une utilité dans nombre de cas.
 

chris

XLDnaute Barbatruc
Bonjour
Merci Chris pour l'info et toutes ces précisions,
La prochaine fois que j'irai en librairie, je penserai à jeter un œil sur ce livre....
Bonne soirée
Cordialement
Il n'est pas je pense en librairie : on le trouve sur Amazon.
J'avais acheté DAX Formulas for PowerPivot mais il y un nouveau https://powerpivotpro.com/the-book/
C'est en Anglais mais très bien fait...
 

Discussions similaires

Statistiques des forums

Discussions
312 177
Messages
2 085 973
Membres
103 073
dernier inscrit
MSCHOE16