Difficulté: Intermédiaire
Ustensiles: Excel, Powerpivot
Ingrédients: NB.SI, CALCULTATE, COUNTROW, ALLEXCEPT
Bases requises: Connaître Powerpivot
Aujourd’hui, j’ai eu besoin d’analyser une colonne dans Powerpivot afin de vérifier s’il n’y avait pas de doublons.
Dans EXCEL, cela est très simple, il suffit d’utiliser la formule suivante:
=NB.SI(<plage> ; <Critère>)
Voici un exemple:
Vous pouvez voir que la plage est la colonne CODE et le critère la valeur dans code pour chaque ligne. Pour la première formule, je compte le nombre de valeur ‘114-60’ dans la colonne CODE. Le résultat est 1.
Mais dans Powerpivot, comment faire ?
J’utilise la formule suivante:
=CALCULATE(COUNTROWS(TableName); ALLEXCEPT(TableName, TableName[Items]))
Le principe est de compter le nombre d’enregistrement dans le table: COUNTROWS(TableName)
En ajoutant le filtre suivant: ALLEXCEPT(TableName, TableName[Items])
Ce filtre consiste à ne prendre en compte que les valeurs correspondant au critère comme dans NB.SI.
Voici ce que cela donne dans PowerPivot:
Nous pouvons améliorer notre formule pour contrôler si la ligne est un doublon avec la formule suivante:
=IF(CALCULATE(COUNTROWS(Tableau1); ALLEXCEPT(Tableau1; Tableau1[Code]))>0;TRUE;FALSE)
La partie en rouge est le complément par rapport à la formule précédente (en noir).
Ce qui donne:
Conclusion
La logique de Powerpivot n’est pas toujours évidente à prendre en compte mais avec un peu d’exercice, on y arrive très vite. Et les possibilités ensuite sont vraiment énormes !!!