Qlik Community

Groupe des Utilisateurs Francophones

Vous êtes francophone? Ce groupe est pour vous. Venez découvrir comment démarrer avec Qlik Sense et QlikView, poser vos questions et partager vos tutos et astuces avec les membres de notre communauté.

Highlighted
chris987
New 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

Tags (1)
1 Solution

Accepted Solutions
richard_pressan
Contributor

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

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 ))

2 Replies
richard_pressan
Contributor

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

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
New Contributor III

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

Bonjour Richard,

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

Cordialement

Christophe