Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Problème de somme partielle dans un tableau croisé

Bonjour,

Je dois calculer le poids de produits finis en fonction du poids des articles qui le composent.

J'obtiens le tableau suivant (filtré sur 1 article fini 52362).

MATNR_KEYSTLNRKOMPO_KEYQUANTITEPOIDSUNITESQUANTITE * POIDS
Total 271'627.00
52362000060060182920012.75G2'550.00
52362000060060291910024KG2'400'000.00
52362000060060291950024KG12'000'000.00
5236200006006059151004.5G450.00
5236200006006075391000.27G27.00
523620000600612898100968G96'800.00
5236200006006132022002G400.00
5236200006006188901001225G122'500.00
52362000060065240220074G14'800.00
52362000060065240720030G6'000.00
52362000060065240820033G6'600.00
52362000060065241510071G7'100.00

La dernière colonne indique le poids pour chaque composant en fonction de la quantité. La formule utilisée est :

If (UNITES = 'KG', sum(QUANTITE * (POIDS * 1000)), sum(QUANTITE * POIDS)).

Il suffit d'additionner les lignes, ce que je pensait pouvoir faire avec "Afficher sommes partielles" sur l'article.
Or,  le total ne correspond pas à la somme théorique de la colonne, qui devrait ressortir à 14'657'227g. Ici le total est de 271'627g.

Je cherche une erreur de raisonnement, ou alors l'utilisation de "l'affichage de somme partielle" n'est pas pertinente ici ?

Un connaisseur aurait-il une idée de solution à mon problème ?

Merci d'avance

Thierry

1 Solution

Accepted Solutions
tedalien
Contributor III
Contributor III

Bonjour Thierry,

Si je me ne trompe pas, essayez svp comme ci dessus:

Sum(If (UNITES = 'KG', QUANTITE * POIDS * 1000, QUANTITE * POIDS)).

Cordialement,

Alen

View solution in original post

3 Replies
tedalien
Contributor III
Contributor III

Bonjour Thierry,

Si je me ne trompe pas, essayez svp comme ci dessus:

Sum(If (UNITES = 'KG', QUANTITE * POIDS * 1000, QUANTITE * POIDS)).

Cordialement,

Alen

Anonymous
Not applicable
Author

Bonjour,

Merci pour la réponse.

Mais en supprimant sum(), la somme partielle disparait ! Les calculs par lignes sont bon, mais pas moyen d'avoir ce total correct.

En fait, j'en reviens au problème posé par moi-même ici http://community.qlik.com/message/325961#325961

Toute nouvelle proposition bienvenue.

Cordialement

Thierry

Not applicable
Author

Bonjour,

Je pense que le problème vient du fait que la condition est évaluée sur la ligne de total.

Comme il n'y a pas d'unité (KG ou autre pour cette ligne) alors c'est l'expression QUANTITE*POIDS qui est calculée pour l'ensemble des lignes d'où une valeur incohérente.

Afin d'obtenir dans le TOTAL la somme des valeurs contenues dans les lignes de détail, une solution serait de créer un tableau simple au lieu d'un tableau croisé et de sélectionner 'Somme de lignes' à la place de 'Total de l'expression dans les expressions'.

Cordialement,

Marie-Sophie