Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
bonjour,
selon le trimestre choisi, je souhaiterai afficher les données du trimestre précédent ou de l'année précédente.
exemple dans le tableau ci-dessous: choix de la date '30/09/2016', résultat Effectif du trimestre précédent '490', résultat Effectif de l'année précédente '400'
comment dois-je m'y prendre?
merci pour votre aide
Régis
Période | Effectif |
---|---|
30/09/2016 | 500 |
30/06/2016 | 490 |
31/03/2016 | 480 |
31/12/2015 | 450 |
30/09/2015 | 400 |
Avec la création d'un calendrier :
(plus d'info Calendrier QlikView)
DATA:
Load * Inline [
Période, Effectif
30/09/2016, 500
30/06/2016, 490
31/03/2016, 480
31/12/2015, 450
30/09/2015, 400
];
Cal:
Load
'N' as TYPE,
Période,
Période as [Période affichage]
Resident DATA
;
Concatenate(Cal)
Load
'N1' as TYPE,
AddMonths(Période, -12) as Période,
Période as [Période affichage]
Resident DATA
;
Concatenate(Cal)
Load
'M1' as TYPE,
AddMonths(Période, -3) as Période,
Période as [Période affichage]
Resident DATA
;
Et dans les expressions :
Période affichage | Sum({<TYPE={'N'}>} Effectif) | Sum({<TYPE={'N1'}>} Effectif) | Sum({<TYPE={'M1'}>} Effectif) |
30/09/2016 | 500 | 400 | 490 |
Aurélien
bonjour,
en complément du 1er message
Bonjour,
Les expressions :
Effectif trim précédent :
Sum({<Période={"=AddMonths(Max(Période), -3)"}>} Effectif)
Effectif année précédente
Sum({<Période={"=AddMonths(Max(Période), -12)"}>} Effectif)
Aurélien
merci pour ces précisions. cependant, ces expressions me retournent les effectifs du trimestre sélectionné et non ceux du trimestre précédent
ex: sélection dans la liste déroulante de la période '30/09/2016', le résultat obtenu est 500... alors que j'attends 490
help
Régis
Avec la création d'un calendrier :
(plus d'info Calendrier QlikView)
DATA:
Load * Inline [
Période, Effectif
30/09/2016, 500
30/06/2016, 490
31/03/2016, 480
31/12/2015, 450
30/09/2015, 400
];
Cal:
Load
'N' as TYPE,
Période,
Période as [Période affichage]
Resident DATA
;
Concatenate(Cal)
Load
'N1' as TYPE,
AddMonths(Période, -12) as Période,
Période as [Période affichage]
Resident DATA
;
Concatenate(Cal)
Load
'M1' as TYPE,
AddMonths(Période, -3) as Période,
Période as [Période affichage]
Resident DATA
;
Et dans les expressions :
Période affichage | Sum({<TYPE={'N'}>} Effectif) | Sum({<TYPE={'N1'}>} Effectif) | Sum({<TYPE={'M1'}>} Effectif) |
30/09/2016 | 500 | 400 | 490 |
Aurélien
merci, cela fonctionne parfaitement excepté quand je sélectionne la période d'affichage du '30/06/2016' où la donnée du trimestre précédent '31/03/2016' ne s'affiche pas.
Par contre, j'ai contourné le problème en remplaçant le 31/03 par le 30/03. Et ça fonctionne très bien !
Merci beaucoup
Peut-être en utilisant la fonction MonthEnd ou alors plutôt utiliser les débuts de mois que les fins de mois.