Agrégations imbriquées avec la fonction d'agrégation

Une imbrication à l'aide de TOTAL peut ne pas suffire. Pour accéder à des possibilités d'imbrication plus génériques, vous devrez utiliser la fonction d'agrégation avancée combinée à des dimensions calculées.

Exemple :  

Les données suivantes ont été chargées par le script:

Une question évidente serait : « Combien de clients chaque commercial possède-t-il ? ».

Il est facile de répondre à cette question à l'aide d'une table QlikView standard :

De nouvelles questions peuvent être soulevées sur la base des informations précédemment obtenues : "How may sales representatives have only a single customer? Combien en ont trois ou plus ? ».

Si vous mettez de côté le fait que, dans ce scénario simple, il est facile de compter les nombres des colonnes d'expression manuellement, ces questions requièrent typiquement un second niveau d'agrégation. Les données nécessaires au calcul n'existent pas dans les champs originaux et ne peuvent pas être calculées directement depuis ces champs.

Il vous faut trouver le moyen d'utiliser la colonne expression du graphique ci-dessus comme une dimension dans un nouveau graphique. Cela est possible grâce à la fonction d'agrégation avancée.

Pour réaliser le calcul du premier graphique comme un calcul interne dans un nouveau graphique, vous devez utiliser l'instruction suivante pour la dimension :

=Aggr(Count(Customer),SalesRep)

Vous entrez ensuite l'expression suivante pour le nouveau graphique :

Count(Distinct SalesRep)

Le qualificateur DISTINCT est nécessaire, puisque QlikView va compter le nombre de lignes de la table sous-jacente.

La table obtenue répond à la question « Combien de commerciaux ont 1, 2, 3, etc. clients ? » :

Il faut noter deux points:

  1. Le second graphique ne nécessite pas la présence du premier. Ce dernier est contenu dans le premier niveau d'agrégation défini dans la dimension.
  2. Les possibilités d'agrégation ne s'arrêtent pas là. Les arguments de dimension de la fonction d'agrégation avancée peuvent bien entendu contenir des dimensions calculées, lesquelles peuvent à leur tour utiliser la fonction d'agrégation avancée. Mais le tout deviendrait rapidement illisible passé le troisième niveau d'agrégation.