Qlik Community

QlikView Scripting

Discussion Board for collaboration on QlikView Scripting.

Announcements

Breathe easy -- you now have more time to plan your next steps with Qlik!
QlikView 11.2 Extended Support is now valid through December 31, 2020. Click here for more information.

stephane_kosior
New Contributor III

Comment calculer une expression avec condition et sous calcul

Bonjour,

Je n'arrive pas à réaliser une formule (toute simple pourtant) ...voilà mon problème.

Ma requête SQL :

SELECT

     monChampPériode as Période,

     monChampVente as Vente,

     monChampCout as Marge

FROM maTable;

Dans une expression je voudrais savoir le montant total des ventes avec une marge inférieure à 50% et pour une période précise ?

Je n'ai pas de problème à faire la somme des ventes d'une période en faisant :

=sum({<Période={'201209'}>}Vente)

J'ai essayé de faire ça mais ça ne fonctionne pas :

=sum({<Période={'201209'},Marge/Vente={'<50%'}>}Vente)

Attention, je ne voudrais pas le faire dans la requête car ma requête est un peu plus complexe qu'il n'y parait !

Merci de votre aide

Stephane

1 Solution

Accepted Solutions
antoinelaviron
New Contributor III

Re: Comment calculer une expression avec condition et sous calcul

Hello,

Y a t il un ID pour chaque vente? Si oui, L'expression suivante devrait fonctionner dans une textbox

=sum({<Date={'201209'}>}Aggr(if(Marge/Vente<0.5,sum(Vente),0),Date,IdVente))

8 Replies
yduval75
Contributor III

Re: Comment calculer une expression avec condition et sous calcul

Salut,

Essayes ca :

If(sum({<Période={'201209'}>} Marge) / sum({<Période={'201209'}>} Vente) <0.5,

   sum({<Période={'201209'}>} Vente)

)

stephane_kosior
New Contributor III

Re: Comment calculer une expression avec condition et sous calcul

Merci mais ça me donne le montant total des ventes de la période et non pas uniquement le montant des ventes avec une marge <50% ... j'avais déjà essayé ça !

yduval75
Contributor III

Re: Comment calculer une expression avec condition et sous calcul

En créant un champ dans le script sinon,

SELECT

     monChampPériode as Période,

     monChampVente as Vente,

     monChampCout as Marge,

     monChampCout / monChampVente as TauxMarge

FROM maTable;

=sum({<Période={'201209'}, TauxMarge={'<0.5'}>} Vente)

stephane_kosior
New Contributor III

Re: Comment calculer une expression avec condition et sous calcul

j'ai essayé mais les deux champs sont une multitude de CASE WHEN et ça complique énormément la requête ... je vais quand même réessayer pour voir mais c'est vrai que ce serait l'idéal !

antoinelaviron
New Contributor III

Re: Comment calculer une expression avec condition et sous calcul

Hello,

Y a t il un ID pour chaque vente? Si oui, L'expression suivante devrait fonctionner dans une textbox

=sum({<Date={'201209'}>}Aggr(if(Marge/Vente<0.5,sum(Vente),0),Date,IdVente))

Re: Comment calculer une expression avec condition et sous calcul

Si la requête originale est trop compliquée, ajoutez un PRECEDING LOAD comme le suivant:

LOAD *,

           monChampCout / monChampVente as TauxMarge;

SELECT

     monChampPériode as Période,

     monChampVente as Vente,

     monChampCout as Marge

FROM maTable;

stephane_kosior
New Contributor III

Re: Comment calculer une expression avec condition et sous calcul

Merci Antoine.

Effectivement cela fonctionne comme cela.

stephane_kosior
New Contributor III

Re: Comment calculer une expression avec condition et sous calcul

Je vais essayer ... merci