Skip to main content
Announcements
Announcing Qlik Talend® Cloud and Qlik Answers™ to accelerate AI adoption! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Comparaison de colonnes

Bonjour,

Dans les expressions d'un tableau croisé dynamique, je compare deux colonnes Col1 et Col2 pour obtenir Col3 :

Col 1     Col2     Col3

  5           10          5

22          10          0

  6           10          6

11          10          0

44          40         11

                            44

Si Col1 est inférieur ou égal à Col2, je retiens la valeur de Col1 dans Col3

Si Col 1 est supérieur à Col2, je retiens 0 dans Col3

En faisant un test if Column(1)<=Column(2), je peux afficher Col3 de façon correcte mais mon total est faux.

Merci de votre aide,

Didier

13 Replies
Not applicable
Author

column(1) n'est pas Montant_1 mais sum(Montant_1) pour cela que cela donne pas le bon résultat

rlp
Creator
Creator

Non le problème est plus profond car l'expression 2 référence directement les champs et non les expressions: elle ne fonctionne donc pas mieux que l'expression 3..

D'autre part, j'avais oublié la fonction d'aggreg interne au aggr, ce qui donne sum( agggr( sum( if()))) mais cela ne donne toujours pas les résultats escomptés lorsqu'on référence les expressions déjà définies..

Je cherche toujours.

Une autre solution consisterait à écrire les sous-expressions explicitement et, pour ne pas perdre en souplesse, on pourrrait aussi les définir dans des variables.

rlp
Creator
Creator

En fait, on ne peut pas utliser une référence à une colonne, là où on utiliserait un champ, comme il est précisé sur ce post: http://qlikviewnotes.blogspot.fr/2010/02/reusing-expressions-chart-column.html

Le plsu simple est donc de définir deux variables Montant_A et Montant_B et de définir l'expressions par:

Sum(

    aggr(

        If($(Montant_A) <= $(Montant_B), $(Montant_A), 0)

        ,

        Ets, Col

        )

)

NB:

1°) N'oubliez pas d'aggréger sur toutes les dimensions de votre graphique.

2°) Nommez vos expressions et variables avec d'autres noms que ceux déjà affectés aux champs.

Not applicable
Author

Merci Richard,

Merci pour les deux NB :

Pour les dimensions du graphique, j'ai rajouté dans l'exemple une dimension Ets, alors que je n'avais que la dimension Col auparavant, sans la rajouter dans la agrégation. Merci !

Les expressions ne portent pas tout à fait le même nom car j'ai Montant 1 et Montant_1 mais j'y ferai attention dans le tableau réel.

J'ai suivi avec intérêt le lien sur les références aux colonnes et j'ai bien noté l'impossibilité.

Ce qui m'ennuie, c'est que dans mon tableau réel, les deux colonnes Montant 1 et Montant 2 sont elles-mêmes la somme de différentes colonnes avec du SET ANALYSIS, calculs ...

Je vais donc être obligé de reprendre le contenu de toutes les expressions qui me permettent d'obtenir Montant 1 et Montant 2.

Merci et bon week-end