Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour,
Je cherche à créer un filtre dans un rapport dont les valeurs seront calculées par rapport à des données existantes dans QlikView. Voici un exemple:
Objectif: lister dans un tableau les émissions et les utilisations de cartes cadeau dans une boutique.
Valeurs du filtre "Statut carte cadeau":
- active (date d'émission + validité <= aujourd'hui)
- expirée avec solde positif (date d'émission + validité > aujorud'hui) et solde > 0
- expirée avec solde négatif (date d'émission + validité > aujorud'hui) et solde < 0
Dans le modèle j'ai les données suivantes:
- date d'émission
- validité (en nombre de jours)
- montant initial
- solde
J'ai pensé à la fonction ValueList mais je ne trouve pas le moyen de l'utiliser.
Toutes les idées sont les bienvenues .
Par avance merci.
Bonjour
Oui c'est possible
Peut être quelque chose comme çà :
A adapter et tester en le rajoutant dans ton script
[Table]:
LOAD
[date d'émission],
[validite],
[montant initial],
[solde],
If(date("date d'émission" + "validite" ,'DD/MM/YYY') <=today() , 'active' ,
if(date("date d'émission" +"validite" ,'DD/MM/YYY') > today() AND solde > '0', 'expirée avec solde positif',
if(date("date d'émission" + "validite" ,'DD/MM/YYY') > today() AND solde < '0' , 'expirée avec solde négatif'))) as Statut;
Table1:
LOAD
* INLINE
[
date d'émission,validite,montant initial,solde
01/02/2017,365,10,5
01/01/2017,365,15,5
10/02/2017,365,20,-5
](delimiter is ',');
Ensuite tu peux faire des count(Statut) , créer des filtres etc
Bruno
Hello,
Le statut n’ai pas défini lorsque la date est expirée et que le solde est à zéro.
J’ai repris l’expression If de Bruno que j’ai modifié comme suit :
If(([date d'émission]+[validite]) <= today(),
'active',
if(solde > 0,
'expirée avec solde positif',
If(solde < 0,
'expirée avec solde négatif',
'expirée sans solde'
)
)
) as Statut