Skip to main content
Announcements
July 15, NEW Customer Portal: Initial launch will improve how you submit Support Cases. IMPORTANT DETAILS
cancel
Showing results for 
Search instead for 
Did you mean: 
AurelieP
Contributor II
Contributor II

Agrégation des données

Bonjour,
J'ai une table de factures que je charge avec un connecteur SQL, et je cherche à compter le nombre d'un type d'article vendus et à évaluer le chiffre d'affaire associé.
J'hésite entre charger ma table en brut et faire les aggrégations dans les visualisations, ou la charger en incluant un compte des quantités et un group by pour regrouper mes données.
Je me pose cette question parce que les deux façons de charger la table ne me donnent pas le même nombre d'articles vendus pour la catégorie recherchée.

J'essaie ensuite de faire une jauge dans laquelle je voudrais fixer le maximum de la jauge au nombre total d'articles vendus, mais certaines sélections ont une incidence sur ce nombre total alors que j'utilise bien l'expression suivante : =Sum({1< LibelleArticle_FR = "ArticleA" >} Nombre).

A quel moment l'agrégation est-elle la plus judicieuse ?
Le Sum(Nombre) est-approprié, ou faudrait-il un Count(Nombre) ?

Merci par avance

 

Labels (1)
4 Replies
brunobertels
Master
Master

Bonjour 

Déjà je pense qu'il faut comprendre pourquoi suivant le type de chargement tu ne tombes pas sur le même résultat ?  

Pour ta formule 

Sum({1< LibelleArticle_FR = "ArticleA" >} Nombre)

si nombre est un entier je dirais SUM biensur 

1 est bien a utilisé pour figer les sélections 

 

Dans ce post voir la réponse de Sunny T 

https://community.qlik.com/t5/QlikView-App-Dev/Set-analysis-ignore-the-selection/td-p/1143580 

 

et les différentes méthodes pour exclure des dimensions figer des sélections 

Cdt

AurelieP
Contributor II
Contributor II
Author

Bonjour,
Merci pour ce retour, et pour le lien.

AurelieP
Contributor II
Contributor II
Author

Bonjour,
Merci pour ce retour, et pour le lien.

En ce qui concerne le chargement des tables, je pense que la la différence de résultat vient de la fonction d'agrégation sur le nombre, mais je ne suis pas sûre de la bonne pratique à adopter :

1ère méthode :

[Factures]:
LOAD distinct
CléClient,
Champ1,
....,
Number,
CléArticle,
"Date";
SELECT
CléClient,
Champ1,
...,
Number,
CléArticle,
"Date"

DE matablemondatawarehouse ;


2ème méthode:

[Factures]:
LOAD distinct
CléClient,
Champ1,
....,
Number,
CléArticle,
"Date";
SÉLECT
CléClient,
Champ1,
...,
Somme (Number) as Nomber,
CléArticle,
"Date"

DE matablemondatawarehouse
Regrouper par CleClient,...,CleArticle,"Date";;

AurelieP
Contributor II
Contributor II
Author

Bonjour,

J'ai pu identifier ce qui crée la différence au niveau du chargement : la table d'origine contient des doublons.
Donc j'utilise un LOAD Distinct pour charger la table sans les doublons, mais je pense qui si j'utilise une aggrégation du nombre et un group by dans le SELECT, la somme des nombres se fera avec les doublons, donc les quantités sont fausses. Je ne vois qu'une ligne, mais la quantité correspond à l'addition des nombres de toutes lignes, y compris les doublons.
Ainsi, tant que la table d'origine contient des doublons, je pense qu'il vaut mieux ne pas faire l'aggrégation et le group by dans le script. Je ferai les aggrégations dans les visualisations.

N'hésitez pas à me dire si le raisonnement n'est pas bon