Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour,
j'aimerai définir en script dans qlikview un champ filtre qui cumule les mois par trimestre, et les trimestres entre eux, càd :
T1= janvier+février+mars
T2=janvier+février+mars+avril +mai+juin
etc...
merci pour votre aide
Florent
Bonjour Florent,
Cela répond-t-il à ta demande ?
Cdt
Christophe Jouve
Qlik
Tour Initiale
1 Terrasse Bellini
92919 Paris la Defense
qlik.com<http://www.qlik.com/>
Téléchargez gratuitement QlikView
http://www.qlikview.com/fr/explore/experience/free-download
The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer.
De : Florent Lelarge-Otiniano
Envoyé : mardi 11 septembre 2018 16:13
À : Christophe Jouve <Christophe.Jouve@qlik.com>
Objet : Re: - créer un filtre de trimestres cumulé
Bonjour,
essaye ceci, en plus c'est basé sur un code calendrier
SET v_STARTDATE = '01/01/2016';
LET v_ENDDATE = '31/12/2018';
TMP_DATE_1:
LOAD date(date#('$(v_STARTDATE)','DD/MM/YYYY')-1 + recno() ,'DD/MM/YYYY') as Date
AUTOGENERATE (date#('$(v_ENDDATE)','DD/MM/YYYY') - date#('$(v_STARTDATE)','DD/MM/YYYY')) + 1 ;
TMP_DATE_2:
LOAD
Month(Date) as Month,
'Q ' & ceil(num(Month(Date))/3) as Quarter
RESIDENT TMP_DATE_1
where Month(Date)>=1 and Month(Date)<4;
Concatenate
LOAD
Month(Date) as Month,
'Q ' & 2 as Quarter
RESIDENT TMP_DATE_1
where Month(Date)>=1 and Month(Date)<7;
Concatenate
LOAD
Month(Date) as Month,
'Q ' & 3 as Quarter
RESIDENT TMP_DATE_1
where Month(Date)>=1 and Month(Date)<10;
Concatenate
LOAD
Month(Date) as Month,
'Q ' & 4 as Quarter
RESIDENT TMP_DATE_1
where Month(Date)>=1 and Month(Date)<13;
DROP Table TMP_DATE_1;
résultat:
Merci Youssef,
je comprends la logique des 4 passes et de la concaténation, mais dans mon modèle je n'utilise pas de calendrier.
mes données viennent d'un qvd, je l=te le joins.
merci pour ton aide;
Florent
essaye ce code (change juste la partie FROM)
QVD:
LOAD @CLE_MODE_LEGAL_HOSPI,
CODE_DIAG_HOSPI,
ID_PATIENT_H,
CLE_TYPE_HAS,
@CLE_MVT_DIAG,
ALIMENTATION,
@CLE_MVT_ISO,
COMPORTEMENT,
CONTINENCE,
DEPLACEMENT,
HABILLAGE,
DATE_DEBUT_MVT,
DATE_FIN_MVT,
DATE_DEBUT_SEQ,
DATE_FIN_SEQ,
Année_Séquence,
Mois_Séquence,
Trimestre_Séquence,
HEURE_DEBUT_SEQ,
HEURE_FIN_SEQ,
@CLE_MVT_SEJ,
NB_ISOL,
NB_J_D_VENU,
NB_J_PRES,
NB_J_VENU,
NB_PERM,
NO_SEQUENCE,
ID_SEQUENCE,
RELATION,
DATE_BEBUT_ISO,
CALC_DATE_BEBUT_ISO,
DATE_FIN_ISO,
CALC_DATE_FIN_ISO,
NO_MESURE,
CLE_MESURE,
TYPE,
CODE_DIAG_HOSPI_CORR,
TYPE_DIAG_HOSPI,
Duree_MesureCI,
LIB_HAS,
Nb_Années_SuiviH,
Durées_SuiviH,
LIB_DIAG_HOSPI,
TYPE_DIAG_HIER_HOSPI,
DATE_DEB_ML_HOSPI,
DATE_FIN_ML_HOSPI,
LIB_ML_HOSPI,
Date(Date#(Mois_Séquence,'MMM'),'MM')&' '&Année_Séquence as MOIS_ANNEE_SEQUENCE
FROM
...
(qvd);
SET v_STARTDATE = '01/01/2012';
LET v_ENDDATE = '31/12/2018';
TMP_DATE_1:
LOAD date(date#('$(v_STARTDATE)','DD/MM/YYYY')-1 + recno() ,'MM YYYY') as MOIS_ANNEE_SEQUENCE
AUTOGENERATE (date#('$(v_ENDDATE)','DD/MM/YYYY') - date#('$(v_STARTDATE)','DD/MM/YYYY')) + 1 ;
TMP_DATE_2:
LOAD
MOIS_ANNEE_SEQUENCE,
Month(MOIS_ANNEE_SEQUENCE) as Month,
'Q ' & ceil(num(Month(MOIS_ANNEE_SEQUENCE))/3) as Quarter
RESIDENT TMP_DATE_1
where Month(MOIS_ANNEE_SEQUENCE)>=1 and Month(MOIS_ANNEE_SEQUENCE)<4;
Concatenate
LOAD
MOIS_ANNEE_SEQUENCE,
Month(MOIS_ANNEE_SEQUENCE) as Month,
'Q ' & 2 as Quarter
RESIDENT TMP_DATE_1
where Month(MOIS_ANNEE_SEQUENCE)>=1 and Month(MOIS_ANNEE_SEQUENCE)<7;
Concatenate
LOAD
MOIS_ANNEE_SEQUENCE,
Month(MOIS_ANNEE_SEQUENCE) as Month,
'Q ' & 3 as Quarter
RESIDENT TMP_DATE_1
where Month(MOIS_ANNEE_SEQUENCE)>=1 and Month(MOIS_ANNEE_SEQUENCE)<10;
Concatenate
LOAD
MOIS_ANNEE_SEQUENCE,
Month(MOIS_ANNEE_SEQUENCE) as Month,
'Q ' & 4 as Quarter
RESIDENT TMP_DATE_1
where Month(MOIS_ANNEE_SEQUENCE)>=1 and Month(MOIS_ANNEE_SEQUENCE)<13;
DROP Table TMP_DATE_1;
Bonjour Florent,
Cela répond-t-il à ta demande ?
Cdt
Christophe Jouve
Qlik
Tour Initiale
1 Terrasse Bellini
92919 Paris la Defense
qlik.com<http://www.qlik.com/>
Téléchargez gratuitement QlikView
http://www.qlikview.com/fr/explore/experience/free-download
The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer.
De : Florent Lelarge-Otiniano
Envoyé : mardi 11 septembre 2018 16:13
À : Christophe Jouve <Christophe.Jouve@qlik.com>
Objet : Re: - créer un filtre de trimestres cumulé
Bonjour Youssef,
j'ai copié collé ton script,
peu importe le Quarter choisi, le seul mois possible est avril...
Florent
je vois.
le mois que tu doit utiliser est désormais le champ "Month"..
dans ce cas, ça reste janvier :
ci-joint un QVW de test