Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour,
Je souhaiterais calculer la somme de deux champs:
Dans ma requete j'ai calculé Frais1 et Frais2 à partir d'autre champs, maintenant je souhaiterai créer une colonne Total Frais, qui me fait la somme des deux champs Frais1+frais2.
Comment le faire sur Qlikview SVP?
voici ma requete SQL qui me crée frais1 et frais2
CASE WHEN (D.DOC_STYPE) IN ('A', '0', 'R') THEN -(L.[LIG_FRAIS] * L.LIG_QTE) ELSE L.[LIG_FRAIS] * L.LIG_QTE END AS 'Frais1',
CASE WHEN (D.DOC_STYPE) IN ('A', '0', 'R') THEN -(L.[LIG_FRAIS2] * L.LIG_QTE) ELSE L.[LIG_FRAIS2] * L.LIG_QTE END AS 'Frais2',
Je vous remercie par avance
Vous pouvez utiliser un "Preceding Load":
Load *,
NumSum( Frais1, Frais2 ) as 'Total Frais' ;
SQL SELECT
CASE WHEN (D.DOC_STYPE) IN ('A', '0', 'R') THEN -(L.[LIG_FRAIS] * L.LIG_QTE) ELSE L.[LIG_FRAIS] * L.LIG_QTE END AS 'Frais1',
CASE WHEN (D.DOC_STYPE) IN ('A', '0', 'R') THEN -(L.[LIG_FRAIS2] * L.LIG_QTE) ELSE L.[LIG_FRAIS2] * L.LIG_QTE END AS 'Frais2',
...
HIC
Voyez aussi http://community.qlik.com/blogs/qlikviewdesignblog/2013/03/04/preceding-load
Bonjour,
NumSum est une vieille fonction... Il est préférable d'utiliser la fonction RangeSum aujourd'hui.
La fonction "renvoie la somme d'une plage de 1 à N arguments et traite toutes les valeurs non numériques comme des 0".
Dans le script, il faut donc précéder le paragraphe SQL SELECT par :
Load
*,
RangeSum(Frais1,Frais2) as 'Total Frais'
;
SQL SELECT
CASE WHEN (D.DOC_STYPE) IN ('A', '0', 'R') THEN -(L.[LIG_FRAIS] * L.LIG_QTE) ELSE L.[LIG_FRAIS] * L.LIG_QTE END AS 'Frais1',
CASE WHEN (D.DOC_STYPE) IN ('A', '0', 'R') THEN -(L.[LIG_FRAIS2] * L.LIG_QTE) ELSE L.[LIG_FRAIS2] * L.LIG_QTE END AS 'Frais2',
...
François
Bonjour Slim1501,
As-tu toujours ton probleme ?
Si oui, comment pouvons-nous t'aider ?
Si c'est résolu, merci de marquer la réponse comme correcte pour clore cette discussion et faciliter le traitement des prochaines questions,
Merci d'avance,
François