Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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
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
Bonjour,
Merci pour ce retour, et pour le lien.
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";;
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