Accéder au contenu principal Passer au contenu complémentaire

Somme des lignes dans les tableaux croisés dynamiques

Pour le calcul des totaux dans les tableaux simples QlikView, il est possible de choisir une simple somme des enregistrements ou le résultat d'une expression calculée. Ce choix n'est pas possible avec un tableau croisé dynamique QlikView. Dans ce cas, les totaux sont toujours des expressions calculées.

Cela n'est pas gênant, dans la mesure où il est rare que la somme des enregistrements soit significative en cas de divergence.

Note AvertissementSoyez prudent lorsque vous utilisez la somme des enregistrements sur tout type d'agrégation autre que des sommes pures.

Ceci posé, la section suivante présente un exemple où le total de la somme des enregistrements est malgré tout le résultat souhaité.

 

Cet exemple illustre un concours scolaire où des équipes de trois étudiants obtiennent des points en fonction des notes qu'ils ont obtenues dans trois catégories différentes. Chaque équipe peut sélectionner le meilleur score du groupe dans chaque catégorie puis ajouter ces trois scores pour obtenir le résultat. Les données suivantes ont été chargées par le script:

Example table data with Class, Name, and Score fields

Un tableau simple contenant la dimension Class et l'expression Max(Score) génère la somme des enregistrements suivante :

Example straight table with sum of rows

Si le tableau simple a été converti en tableau croisé dynamique qui est toujours calculé comme un total de l'expression plutôt que comme une somme des enregistrements, un problème se pose :

Example pivot table with expression total

Dans ce cas précis, 12 est le total attendu, et 5 est erroné. Dans le cas présent, il est possible d'utiliser la fonction Aggr dans l'expression, et pas dans la dimension.

On inclut l'expression de départ dans une fonction Aggr, en utilisant également la dimension du tableau comme dimension dans la fonction Aggr. On utilise à présent ce groupe comme argument d'une agrégation Sum. La table affiche à présent le total attendu :

Example pivot table with sum of rows

L'intérêt de la fonction d'agrégation avancée est d'évaluer chaque ligne comme une seule valeur. Ceci est possible par le fait que la dimension ne peut prendre qu'une seule valeur possible pour chaque ligne de données. Puisque la dimension et l'expression sous-jacentes sont les mêmes pour le graphique, chaque valeur sera bien entendu identique, comme le résultat sans les fonctions Sum et d'agrégation avancée qui les englobent.

Cependant, pour toute la ligne, la fonction d'agrégation avancée renverra trois valeurs, une pour chaque valeur de champ dimension. Celles-ci seront alors additionnées par l'agrégation Sum. Tout en étant formellement le total de l'expression, le résultat sera égal à la somme des lignes.

En savoir plus

 

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !

Rejoignez le Programme de modernisation analytique

Remove banner from view

Modernisez votre système sans compromettre vos précieuses applications QlikView grâce au Programme de modernisation analytique. Cliquez ici pour plus d'informations ou contactez : ampquestions@qlik.com