Dans un tableau droit, on peut choisir si on veut que le total soit :
- un agrégat sur l'ensemble des lignes (la somme de toutes les lignes, par exemple)
ou
- l'expression calculée au niveau de la dimension supérieure
ou
- pas de total
Dans un tableau croisé dynamique, on n'a pas le choix : un sous-total est
toujours l'expression calculée au niveau de la dimension supérieure (ou au niveau global, si on est dans la dernière dimension).
Dès que notre formule va comporter des calculs relatifs, ou basés sur des décomptes, il faut faire attention à l'expression utilisée pour qu'elle soit juste quelle que soit la dimension regardée.
Exemple :
J'ai les commerciaux suivants :
- Bob, 42 ans
- Jean, 30 ans
- Mitch, 30 ans
Bob est attaché aux USA par ma table des ventes.
Jean est attaché à la France par ma table des ventes.
Mitch est attaché aux 2 pays par ma table des ventes.
Je fais un tableau croisé dynamique pour avoir l'age moyen par pays, avec la formule suivante :
sum(Age) / count(distinct ID_Employé)
Je vais avoir le résultat suivant :
France (Jean et Mitch) --> (30 + 30) / 2 = 30 ans
USA (Bob + Mitch) --> (42 + 30) / 2 = 36 ans
Pourtant, mon résultat total (moyenne d'age mondiale) ne vas pas être de "30 + 36 = 66", comme ce que vous dira Excel.
Vous allez me répondre "
oui, mais là je sais que je veux avoir une moyenne, donc je divise par mon nombre de pays (donc 2) dans Excel". Cela vous donnera un résultat faux : (36 + 30) / 2 = 33 ans.
QlikView va calculer la
même formule, sur la dimension précédente, c'est à dire "(42 + 30 + 30) / 3 = 34".
Partager