Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
chris987
Contributor III
Contributor III

Faire une somme liée à un count(distinct)

Bonjour,

J'ai une question qui peut paraitre bête, mais qui me tracasse.

Dans un tableau tout simple (Devis, Actions, CA, Marge), je fais un comptage du nombre de devis en cours associé
à des actions commerciales.

Soit 1 devis = 1 ou n actions (avec le CA et la marge qui sont dupliqués en cas de plusieurs actions sur un même devis).

Lorsque je fais un count(distinct devis), j'ai bien mon nombre de devis unique.

Mais comment faire pour avoir le CA uniquement pour ces devis distincts dans ce même tabeau ?

 

Avez-vous
une idée ?

 

Merci pour votre aide.

Christophe

1 Solution

Accepted Solutions
rlp
Creator
Creator

Puisque la marge et le CA dépendent du champ Devis, il vous faut agréger sur le champ Devis d'où l'expressio n aggr( <expression_aggrégée_encore_à_déterminer> ,Devis)

Ensuite, puisque ces valeurs sont identiques pour chaque valeur de Devis, on va utiliser la fonction d'aggrégation Only qui renvoie soit la seule valeur prise sur la plage considérée soit NULL.

Ainsi, on arrive à isoler la valeur unique: reste à sommer convenablement i.e. en ne tenant compte que des valeurs distinctes de Devis, ce que l'on obtient avec sum( TOTAL<Devis> ..)

Au final:

sum( TOTAL<Devis> aggr( Only(CA) , Devis ))

View solution in original post

2 Replies
rlp
Creator
Creator

Puisque la marge et le CA dépendent du champ Devis, il vous faut agréger sur le champ Devis d'où l'expressio n aggr( <expression_aggrégée_encore_à_déterminer> ,Devis)

Ensuite, puisque ces valeurs sont identiques pour chaque valeur de Devis, on va utiliser la fonction d'aggrégation Only qui renvoie soit la seule valeur prise sur la plage considérée soit NULL.

Ainsi, on arrive à isoler la valeur unique: reste à sommer convenablement i.e. en ne tenant compte que des valeurs distinctes de Devis, ce que l'on obtient avec sum( TOTAL<Devis> ..)

Au final:

sum( TOTAL<Devis> aggr( Only(CA) , Devis ))

chris987
Contributor III
Contributor III
Author

Bonjour Richard,

Merci pour votre réponse. Je ne connaissais pas vraiment la fonction Only.

Cordialement

Christophe