Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
CLAIREDELY
Contributor II
Contributor II

Créer des journées de présence à partir d'un intervalle de dates

Je vous sollicite pour savoir comment créer:

  • à partir d'une table N°1 de séjours ayant pour chaque séjour une  date de début et une date de fin,
  • une table N° 2 avec pour chacun des séjours, la création d'une variable dite jour de présence correspondant aux dates de journées de présence comprises entre la date de début et la date de fin du séjour.

Merci !

Cordialement

Claire DELY

Labels (1)
1 Solution

Accepted Solutions
CLAIREDELY
Contributor II
Contributor II
Author

 

Est-ce que ce bout de script peut aider pour répondre à ma question ?

TABLE_SEJOUR :

Load

NUMERO_SEJOUR,
DATE_DEBUT_SEJOUR,
DATE_FIN_SEJOUR
from TABLE_SEJOUR (chemin à mettre);

for $(jour_présence) = num (DATE_DEBUT_SEJOUR) to num (DATE_FIN_SEJOUR)

next;

Je souhaite intégrer ce champ $(jour_présence) que je crée par une boucle dans une nouvelle table dite JOUR de PRESENCE créer ci-dessous

 

JOUR_PRESENCE :
load
NUMERO_SEJOUR as JOUR_PRESENCE_NUM_SEJOUR ,
DATE_DEBUT_SEJOUR as JOUR_PRESENCE_DATE_DEBUT_SEJOUR,
DATE_FIN_SEJOUR as JOUR_PRESENCE_DATE_FIN_SEJOUR
resident TABLE_SEJOUR ;

View solution in original post

8 Replies
Taoufiq_Zarra

Bonjour @CLAIREDELY  ,

est ce que tu peux partager un exemple de donnée d'entrée avecle output souhaité ?

Regards,
Taoufiq ZARRA

"Please LIKE posts and "Accept as Solution" if the provided solution is helpful "

(you can mark up to 3 "solutions") 😉
CLAIREDELY
Contributor II
Contributor II
Author

Est-ce que ce bout de script peut aider pour répondre à ma question ?
TABLE_SEJOUR :

Load

NUMERO_SEJOUR,
DATE_DEBUT_SEJOUR,
DATE_FIN_SEJOUR
from TABLE_SEJOUR (chemin à mettre);
for $(jour_présence) = num (DATE_DEBUT_SEJOUR) to num (DATE_FIN_SEJOUR)
next;
Je souhaite intégrer ce champ $(jour_présence) que je crée par une boucle dans une nouvelle table dite JOUR de PRESENCE créer ci-dessous

JOUR_PRESENCE :
load
NUMERO_SEJOUR as JOUR_PRESENCE_NUM_SEJOUR ,
DATE_DEBUT_SEJOUR as JOUR_PRESENCE_DATE_DEBUT_SEJOUR,
DATE_FIN_SEJOUR as JOUR_PRESENCE_DATE_FIN_SEJOUR
resident TABLE_SEJOUR ;
CLAIREDELY
Contributor II
Contributor II
Author

 

Est-ce que ce bout de script peut aider pour répondre à ma question ?

TABLE_SEJOUR :

Load

NUMERO_SEJOUR,
DATE_DEBUT_SEJOUR,
DATE_FIN_SEJOUR
from TABLE_SEJOUR (chemin à mettre);

for $(jour_présence) = num (DATE_DEBUT_SEJOUR) to num (DATE_FIN_SEJOUR)

next;

Je souhaite intégrer ce champ $(jour_présence) que je crée par une boucle dans une nouvelle table dite JOUR de PRESENCE créer ci-dessous

 

JOUR_PRESENCE :
load
NUMERO_SEJOUR as JOUR_PRESENCE_NUM_SEJOUR ,
DATE_DEBUT_SEJOUR as JOUR_PRESENCE_DATE_DEBUT_SEJOUR,
DATE_FIN_SEJOUR as JOUR_PRESENCE_DATE_FIN_SEJOUR
resident TABLE_SEJOUR ;

Taoufiq_Zarra

@CLAIREDELY,

J'ai pas bien compris le besoin, un exemple de Tableau d'entré avec ce que tu souhaite comme output est plus facile.

 

Regards,
Taoufiq ZARRA

"Please LIKE posts and "Accept as Solution" if the provided solution is helpful "

(you can mark up to 3 "solutions") 😉
CLAIREDELY
Contributor II
Contributor II
Author

Ci-joint un tableau d’entrée EXCEL avec les 3 variables d’entrée.

Cordialement

DELY

CLAIREDELY
Contributor II
Contributor II
Author

Je relance avec cette fois en PJ : 

_ la table d'entrée avec pour chaque séjour une date de début et une date de fin de séjour

_ la table que je souhaite créer avec en sus la variable jour de présence qui est créer à partir de la date de début et de fin de chaque séjour. 

Merci 

Taoufiq_Zarra

Bonjour @CLAIREDELY , dsl pour le retard je viens de voir ton fichier

tu peux par exemple utilser ce script :

Data:

LOAD NUMERO_SEJOUR, 
     Date(DATE_ENTREE_SEJOUR) as DATE_ENTREE_SEJOUR, 
     Date(DATE_SORTIE_SEJOUR) as DATE_SORTIE_SEJOUR
FROM
[.\Table séjour test.xlsx]
(ooxml, embedded labels, table is [Table entrée]);

left join

load NUMERO_SEJOUR,
	Date(DATE_ENTREE_SEJOUR + IterNo() - 1) as [JOUR_PRESENCE]
	resident Data
	While DATE_ENTREE_SEJOUR + IterNo() -1 <= DATE_SORTIE_SEJOUR;

 

le output est  :

Capture.PNG

 

Regards,
Taoufiq ZARRA

"Please LIKE posts and "Accept as Solution" if the provided solution is helpful "

(you can mark up to 3 "solutions") 😉
CLAIREDELY
Contributor II
Contributor II
Author

Bonjour, 

Merci, et désolée pour ma réponse tardive car j'avais trouvé...en effet en utilisant un while !

Bien cordialement