25 Replies Latest reply: Feb 3, 2017 7:48 AM by Florent Lelarge-Otiniano RSS

    intevalmatch successifs

    Florent Lelarge-Otiniano

      bonjour à toutes et à tous,

       

      j'ai un problème de calendrier que je vais tenter de vous exposer clairement.

       

      je veux calculer un nb de journées de présence, sur des dossiers sur plusieurs années.

      j'ai donc construit un calendrier maitre, avec un interval match sur les dates de mouvements du dossier :

      CAL_CHAMBRES_BASE:

      load IterNo() + num('01/01/2008')-1 as CAL_DATE ,

        month(IterNo() + num('01/01/2008')-1) as CAL_MOIS,

        Year(IterNo() + num('01/01/2008')-1)as CAL_ANNEE,

        day(IterNo() + num('01/01/2008')-1) as CAL_JOURS

        AutoGenerate (1)

      while 

        IterNo() + num('01/01/2008')-1 <= num(Today());

       

      REF_CHAMBRE:

      SQL SELECT

      ...

      NUMEDOS,

      NUMEDOS as CLEGIR,

          NUMEDOS as CLEDMT,

      DENTSJL,

      DSORSJL,

      ...

      FROM

        SIL.NCV_PRS:

       

      CAL_CHAMBRES:

      NoConcatenate LOAD * Resident CAL_CHAMBRES_BASE;

      IntervalMatch (CAL_DATE) load DENTSJL, DSORSJL Resident REF_CHAMBRE ;

       

      ensuite, j'ai aussi d'autre dates dans 2 autres tables concernant une évolution de type de PeC et d'une évolution de Tarifs

      ces dates sont toutes différentes et ne sont pas liées entre elle :

       

      GIR:

      SQL SELECT CODEGIR,

          DAEFGIR,

          DAFIGIR,

             NUHOGIR as CLEGIR

        

      FROM MAL.GIR;

       

      DMT:

      SQL SELECT COTASE,

          DATESE,

          DATSSE,

              NUHOSE as CLEDMT

      FROM MAL.SEJ;

       

       

      y a t'il possibilité de lier tous ces intervalles au calendrier, pour pouvoir compter sur une année donnée, le nb de journées de présence par type de PEc et par tarif ?

       

      merci pour votre aide.

       

      Florent

        • Re: intevalmatch successifs
          Florent Lelarge-Otiniano

          ci-joint l'appli,

           

          qui me donne en plus des résultats incohérents, lorsque je filtre sur les codes départements...

          Capture.JPGCapture2.JPG

            • Re: intevalmatch successifs
              Florent Lelarge-Otiniano

              elle n'est pas passée, je refais un envoi...

                • Re: intevalmatch successifs
                  Sébastien Fatoux

                  Bonjour Florent,

                   

                  Avant d'essayer de comprendre ton problème d'intervalmatch, voici déjà la raison des incohérences.

                   

                  ATTENTION, lorsque tu utilises un AGGR il doit contenir les dimension que tu as besoin pour tes calculs (ici

                   

                  NUHOHO), mais également les dimensions que tu utilises dans ton graphe (ici DEPT) afin que l'AGGR puisse s'intégrer parfaitement dans ton graphe sans incohérence.

                   

                  Pour de meilleur performance, évite au maximum les dimensions calculées et les count(DISTINCT if...)

                   

                  Pour ce petite tableau, j'utiliserai directement la dimension DEPT (le filtre TYPE_UF = 'EHPAD' est réalisé dans l'expression) et l'expression suivante :

                   

                  sum(aggr(count({$<TYPE_UF={'EHPAD'}>} DISTINCT CAL_DATE),NUHOHO, DEPT))

                    • Re: intevalmatch successifs
                      Florent Lelarge-Otiniano

                      Merci Sébastien,

                       

                      j'ai toujours du mal avec les aggr...

                      dans l'expression, on n'a pas besoin du set sur le type UF, car il est dans la dimension ; ceci dit, ça fonctionne parfaitement.

                      Par contre, j'ai un delta entre le nb de journées par dépt et par UF d'EHPAD (avec la même formule et le même if type_UF dans la dimension)

                      Capture.JPGCapture2.JPG

                        • Re: intevalmatch successifs
                          Florent Lelarge-Otiniano

                          J'ai trouvé pour le delta : pour certains NUHOHO, plusieurs DEPT étaient existant à tord : les obsolètes et l'actuel, du coup, les mêmes journées étaient additionnées par code DEPT.

                          j'ai trouvé le champ me permettant de ne charger que les DEPT  "valides".

                          Je retombe sur mes pieds ;-)

                          Capture.JPG

                           

                          me reste le pb des "périodes"...

                            • Re: intevalmatch successifs
                              Sébastien Fatoux

                              Cool

                               

                              Est-ce que CLEDOS, CLEGIR, CLEDMT sont toujours identiques ?

                               

                              Si oui, pourrait-on utiliser qu'un seul champ CLEDOS qui ferait le lien entre les tables ?

                                • Re: intevalmatch successifs
                                  Florent Lelarge-Otiniano

                                  elles correspondent à un champ commun pour joindre différentes tables.

                                  CLEDOS m'a permis de remonter le mode de sortie du dossier, j'y ai fait un left join.

                                  Capture.JPG

                                  pour résumer : chaque table non concaténée mais avec un champ clé commun possède par dossier des intervalles de dates différentes : mouvements (REF_CHAMBRE), position tarifaire (DMT), et GIR (GIR)

                                  ce sont des séjours courant sur plusieurs années, et ce qui m'est demandé, c'est, pour 1 années, le Nb de jours de présence par position tarifaire et par GIR...

                                    • Re: intevalmatch successifs
                                      Florent Lelarge-Otiniano

                                      c'est de toute façon exactement le même champ (valeurs de NUHOHO en l'occurence)

                                      pour le modèle de donnée, techniquement c'est possible, pour le reste (la solidité des calculs attendus et la stabilité du système), j'attends humblement ton avis  ;-))

                                        • Re: intevalmatch successifs
                                          Sébastien Fatoux

                                          J'essayerai d'arriver au résultat suivant:

                                           

                                          Community_1199207.png

                                           

                                          En partant de tes table de base (bleu), je commencerai par créer la table Link dans laquelle il y aura un champ CLELINK pour chaque combinaison existante de CLEDOS, CODEGIR et COTAS:

                                          • De la table GIR, je récupère les champs CLEGIR as CLEDOS et CODEGIR
                                          • De la table DMT, je récupère les champs CLEDMT as CLEDOS et COTASE
                                          • De la table REF, je récupère CLEDOS qui ne figure pas déjà dans Link

                                           

                                          Création de la table IntervalLink :

                                          • De la table GIR, je récupère les champs CLELINK, DateDébut, DateFin et 'GIR' as Type
                                          • De la table DMT, je récupère les champs CLELINK, DateDébut, DateFin et 'DMT' as Type
                                          • De la table REF, je récupère CLELINK, DateDébut, DateFin et 'REF' as Type

                                           

                                          Utilisation de IntervalMatch pour lier IntervalLink à CAL_CHAMBRE et joindre le résultat à IntervalLink.

                                            • Re: intevalmatch successifs
                                              Florent Lelarge-Otiniano

                                              ouahou,

                                               

                                              alors là, je pense à peu près saisir la logique, mais dans la réalisation je suis noyé...

                                              comment créer la table link ?

                                              et lier tout ça dansle bon sens ?

                                              je te joins la dernière mouture de l'appli.

                                              peux tu y jeter un coup d'oeil ?

                                               

                                              sinon, je vais m'y replonger demain matin...

                                                • Re: intevalmatch successifs
                                                  Sébastien Fatoux

                                                  Bonjour,

                                                   

                                                  Tu trouveras ci-dessous le script avec ta partie (j'ai commenté quelques lignes et ajouté quelques remarques identifiable par //COMMUNITY : ):

                                                   

                                                  Remarques pour améliorer la lisibilité du script:

                                                  • Nommer les tables
                                                  • Pour les jointures :
                                                    • Spécifier la table à joindre (même si par défaut c'est la table précédente)
                                                    • Spécifier par commentaire les champs utilisés comme clé de jointure (ça évite de devoir comparer les champs des 2 tables pour identifier les champs avec le même nom)

                                                   

                                                  Concernant le reste du script, je l'ai construit un peu à l'aveugle sans pouvoir tester. Je te laisse donc recharger et voir comment cela se comporte.

                                                   

                                                   

                                                  //COMMUNITY : Utiliser directement le bon nom
                                                  //CAL_CHAMBRES_BASE:
                                                  CAL_CHAMBRES:
                                                  load IterNo() + num('01/01/2008')-1 as CAL_DATE ,
                                                  month(IterNo() + num('01/01/2008')-1) as CAL_MOIS,
                                                  Year(IterNo() + num('01/01/2008')-1)as CAL_ANNEE,
                                                  day(IterNo() + num('01/01/2008')-1) as CAL_JOURS
                                                  AutoGenerate (1)
                                                  while 
                                                  IterNo() + num('01/01/2008')-1 <= num(Today());

                                                  REF_CHAMBRE:
                                                  load *,
                                                  if(left(NUUFUF,2)='65','MAS',
                                                  if(NUUFUF='7120' or NUUFUF='7128','USLD',
                                                  if(NUUFUF='7126', 'UHR',
                                                  if(left(NUUFUF,2)='89','EHPAD')))) as TYPE_UF,
                                                  year(DATNH01) as ANNEE_NAIS;
                                                  SQL SELECT DATNH01,
                                                  DENTSJL,
                                                  DNALMA,
                                                  DSORSJL,
                                                  "HEBERGE_POUR",
                                                  "LLI_NULLLL",
                                                  "LLI_PIE_NUPIPI",
                                                  "NCCLI_NUMECLI" as "IPP",
                                                  "NCCLI_NUMECLI" as "CLE_CP",
                                                  "NCH06_NORDHIS",
                                                  "NCH12_NORDHIS",
                                                  "NCPRE_PRESPRE",
                                                  NOM,
                                                  "NOM_NAISSANCE",
                                                  NUMEDOS,
                                                  NUMEDOS as CLEDATES,
                                                  NUMEDOS as CLEDOS,
                                                  NUMEDOS as CLEGIR,
                                                  NUMEDOS as CLEDMT,
                                                  NUMEPAR,
                                                  NUMESJR,
                                                  NUTELL,
                                                  NUUFUF,
                                                  PRENH04,
                                                  PRSCSJL,
                                                  SEXEH01,
                                                  TSDAPAR,
                                                  VISISJL
                                                  FROM
                                                  SIL.NCV_PRS
                                                  where NUUFUF>'6388' and NUUFUF<>'7020' and NUUFUF<>'8924';

                                                  //COMMUNITY : Spécifier avec quel table vous faite la jointure
                                                  left join
                                                  SQL SELECT
                                                  MOSOHO,
                                                  NUHOHO,
                                                  NUHOHO as CLEDOS
                                                  FROM MAL.HOS
                                                  where ANULHO<>'A' and ETATHO='H' and UFENHO>'6388' and UFENHO<>'7020' and UFENHO<>'8924';

                                                  //COMMUNITY : Spécifier avec quel table vous faite la jointure
                                                  left join
                                                  load *,
                                                  left(CODEPOSTAL,2) as DEPT;
                                                  SQL SELECT "CMN_COP_NCPOPO" as "CODEPOSTAL",
                                                  "NCCLI_NUMECLI" as "CLE_CP",
                                                  DERNH06
                                                  FROM SIL.NCH06
                                                  where VALIH06='O' and DERNH06='O';

                                                  //COMMUNITY : Nommer votre table
                                                  load
                                                  CLEDATES,
                                                  min(DENTSJL) as DATE_ENTREE,
                                                  min(year(DENTSJL)) as ANNEE_ENTREE,
                                                  max(if(len(MOSOHO)<>0,DSORSJL)) as DATE_SORTIE
                                                  resident REF_CHAMBRE group by CLEDATES;

                                                  GIR:
                                                  SQL SELECT CODEGIR,
                                                  DAEFGIR,
                                                  DAFIGIR,
                                                  DAVSGIR,
                                                  NUGIGIR,
                                                  NUHOGIR,
                                                  NUHOGIR as CLEGIR,
                                                  PRISGIR,
                                                  VGIRGIR
                                                  FROM MAL.GIR;


                                                  DMT:
                                                  load*,
                                                  if(COTASE='E6' or left(COTASE,1)=9, '-60ans','+60ans') as TarifAge,
                                                  if(COTASE='E+','EHPAD Hospi +72 h',
                                                  if(COTASE='E-' or COTASE='C-','EHPAD Hospi -72 h',
                                                  if(COTASE='EP' or COTASE='CP','EHPAD Présent',
                                                  if(COTASE='ER','EHPAD -Repas',
                                                  if(COTASE='E0','EHPAD Tarif nul',
                                                  if(COTASE='E6','EHPAD -60ans',
                                                  if(COTASE='9+','EHPAD -60ans +72 h',
                                                  if(COTASE='9-','EHPAD -60ans -72 h',
                                                  if(COTASE='9R','EHPAD -60ans -Repas',
                                                  if(COTASE='90','EHPAD -60ans Tarif nul')))))))))) as LIBDMT;

                                                  SQL SELECT COTASE,
                                                  COTASE as NUCTCTA,
                                                  DATESE,
                                                  DATSSE,
                                                  DMTSSE,
                                                  NUHOSE,
                                                  NUHOSE as CLEDMT
                                                  FROM MAL.SEJ
                                                  where NUUFSE>6500;


                                                  //COMMUNITY : Plus nécessaire car directement nommée de façon correcte
                                                  //CAL_CHAMBRES:
                                                  //NoConcatenate LOAD * Resident CAL_CHAMBRES_BASE;

                                                  //COMMUNITY : Remplacer par le code qui suit
                                                  //IntervalMatch (CAL_DATE) load DENTSJL, DSORSJL Resident REF_CHAMBRE ;

                                                  //COMMUNITY : Plus nécessaire car directement nommée de façon correcte
                                                  //drop Table CAL_CHAMBRES_BASE;


                                                  //COMMUNITY : Nouveau code
                                                  //*********************************************************
                                                  //* Ajout de CLELINK dans les tables de base
                                                  //*********************************************************
                                                  RENAME Field CLEDOS to CLEDOS_tmp;
                                                  RENAME Field CLEGIR to CLEGIR_tmp;
                                                  RENAME Field CLEDMT to CLEDMT_tmp;

                                                  // Ajout de CLELINK dans la table REF
                                                  Left join (REF_CHAMBRE)
                                                  LOAD
                                                  CLEDOS_tmp, // Clé de jointure
                                                  DENTSJL, // Clé de jointure
                                                  DSORSJL , // Clé de jointure
                                                  Autonumber('REF' & '_' &  CLEDOS_tmp & '_' & DENTSJL & '_' & DSORSJL  , 'CLELINK') AS CLELINK
                                                  Resident REF_CHAMBRE;

                                                  // Ajout de CLELINK dans la table GIR
                                                  Left join (GIR)
                                                  LOAD
                                                  CLEGIR_tmp, // Clé de jointure
                                                  DAEFGIR, // Clé de jointure
                                                  DAFIGIR, // Clé de jointure
                                                  Autonumber('GIR' & '_' &  CLEGIR_tmp & '_' & DAEFGIR & '_' & DAEFGIR , 'CLELINK') AS CLELINK
                                                  Resident GIR;

                                                  // Ajout de CLELINK dans la table DMT ==> ATTENTION les date de début sont identique au date de fin
                                                  Left join (DMT)
                                                  LOAD
                                                  CLEDMT_tmp, // Clé de jointure
                                                  DATESE, // Clé de jointure
                                                    DATSSE, // Clé de jointure
                                                  Autonumber('DMT' & '_' &  CLEDMT_tmp & '_' & DATESE & '_' & DATSSE, 'CLELINK') AS CLELINK
                                                  Resident DMT;


                                                  //*********************************************************
                                                  //* Création de la table Link
                                                  //*********************************************************
                                                  Link:
                                                  LOAD
                                                  CLELINK,
                                                  CLEDOS_tmp  as CLEDOS,
                                                  DENTSJL  as DateDebut,
                                                  DSORSJL  as DateFin,
                                                  'REF'
                                                  as IntervalType
                                                  Resident REF_CHAMBRE;

                                                  Concatenate(Link)
                                                  LOAD
                                                  CLELINK,
                                                  CLEGIR_tmp  as CLEDOS,
                                                  DAEFGIR  as DateDebut,
                                                  DAFIGIR  as DateFin,
                                                  'GIR'
                                                  as IntervalType
                                                  Resident GIR;

                                                  Concatenate(Link)
                                                  LOAD
                                                  CLELINK,
                                                  CLEDMT_tmp  as CLEDOS,
                                                  DATESE  as DateDebut,
                                                  DATSSE  as DateFin,
                                                  'DMT'
                                                  as IntervalType
                                                  Resident DMT;


                                                  IntervalLink:
                                                  LOAD
                                                  CLELINK,
                                                  DateDebut as DateDebut_tmp,
                                                  DateFin as DateFin_tmp,
                                                  1
                                                  as NbJournée
                                                  Resident Link;

                                                  //*********************************************************
                                                  //* Création de la table IntervalLink
                                                  //*********************************************************
                                                  Left join(IntervalLink)
                                                  IntervalMatch (CAL_DATE)
                                                  LOAD Distinct DateDebut_tmp, DateFin_tmp
                                                  Resident IntervalLink;

                                                  DROP Fields DateDebut_tmp, DateFin_tmp;
                                                  DROP Fields DateDebut, DateFin;

                                                    • Re: intevalmatch successifs
                                                      Florent Lelarge-Otiniano

                                                      Un grand merci pour tout ce travail, Sébastien;

                                                       

                                                      Un pb persiste avec la table GIR, qui semble exclue , ainsi que la table DMT :

                                                      Capture.JPG

                                                      Capture2.JPG

                                                        • Re: intevalmatch successifs
                                                          Sébastien Fatoux

                                                          Il me faudrait l'application chargée avec le nouveau script.

                                                           

                                                          Comme je te l'ai dit ça a été fait à l'aveugle, donc je ne suis pas certain à 100% que nous ayons le résultat désiré.

                                                            • Re: intevalmatch successifs
                                                              Florent Lelarge-Otiniano

                                                              ne t'inquiète pas, je ne te jette pas du tout la pierre , je te remercie pour le temps et la matière qrise que tu mets à ma disposition.

                                                               

                                                              une idée comme ça : si on mets (est-ce possible) la clé correspondant aux NUHOHO dans le calendrier, et qu'on y fasse tous les intervalmatch ???

                                                               

                                                              en tout cas, je te joins l'appli avec ton script ainsi que les 3 tables .

                                                               

                                                              Merci

                                                                • Re: intevalmatch successifs
                                                                  Florent Lelarge-Otiniano

                                                                  juste au cas ou, une illustration :

                                                                  les données dispo sont les dates de début et de fin de chaque item (mouvement/tarif/GIR)

                                                                   

                                                                  il me faut compter un nb de journées de présence par séjour/tarif/GIR...

                                                                  Capture.JPG

                                                                    • Re: intevalmatch successifs
                                                                      Sébastien Fatoux

                                                                      J'ai chargé les QVD et j'ai appliqué un filtre pour ne pas reprendre les intervalle terminée avant la date de début du calendrier 01/01/2008.  Je te laisse appliqué ce filtre à tes extraction de la base de donnée si tu le désires.

                                                                       

                                                                      Voici ton application avec un nouveau modèle qui correspond mieux à tes besoins.

                                                                      Community_1200396_1.png

                                                                       

                                                                      Je te laisserai regarder le script pour voir comment j'ai procédé.

                                                                       

                                                                      J'ai remarqué que pour REF et DMT les date de début d'une intervalle correspondait exactement à la date de fin de l'intervalle précédente. Ceci n'est pas compatible avec l'IntervalMatch car les bornes sont comprises, donc si la valeur de fin d'intervalle correspondait à la valeur du calendrier, la journée serait comptée dans les 2 intervales.

                                                                      J'ai donc réduit les dates de fin correspondante de moins d'une seconde pour éviter ce genre de problème.

                                                                      ==> Le Total DMT 2016 a diminué de 2.

                                                                        • Re: intevalmatch successifs
                                                                          Florent Lelarge-Otiniano

                                                                          Bonjour Sebastien,

                                                                           

                                                                          un grand merci pour ce travail !

                                                                          Quand je regarde ton modèle de données, je me dis que c'est ce que je voulais obtenir : chaque table ayant un lien sur mon calendrier maître, mais n'étant pas informaticien et en tant qu'autodidacte à l'utilisation de QVW, chaque tentative (faire une clé sur chaque table vers un calendrier unique, concaténer les 3 tables, ...) me générait des références circulaires ou me faisait tomber le système...

                                                                           

                                                                          Quand je regarde le script, alors là je comprend en gros le principe, mais j'aurais été incapable de l'imaginer et le produire.

                                                                          de plus, à la première lecture, la différence avec ton premier jet ne me saute pas aux yeux, mais je vais approfondir.

                                                                           

                                                                          Bref, tout ça pour te dire merci, ça marche !

                                                                           

                                                                          Florent

                                                • Re: intevalmatch successifs
                                                  Sébastien Fatoux

                                                  Bonjour,

                                                   

                                                  Pourrais-tu mettre un "Helpfull" sur la réponse du  "24 janv. 2017 05:45" concernant l'expression avec l'Aggr

                                                   

                                                  Merci

                                                    • Re: intevalmatch successifs
                                                      Florent Lelarge-Otiniano

                                                      comment faire, je n'ai que "utile" dans les actions possibles...

                                                        • Re: intevalmatch successifs
                                                          Sébastien Fatoux

                                                          Parfait, mais "utile"

                                                           

                                                          Merci

                                                            • Re: intevalmatch successifs
                                                              Florent Lelarge-Otiniano

                                                              bonjour Sébastien,

                                                               

                                                              je reviens vers toi car j'ai des résultats bizarres :

                                                              j'ai voulu étendre l'appli (que je te joins également) sur d'autres unités, et j'ai des dossiers "exclus" à tort.

                                                              peux tu m'éclairer ?

                                                              Capture.JPG

                                                              Merci

                                                                • Re: intevalmatch successifs
                                                                  Sébastien Fatoux

                                                                  Bonjour Florent,

                                                                   

                                                                  J'ai trouvé la raison et la solution.

                                                                   

                                                                  Pour ton bien ;-) , je vais te laisser réfléchir un peu sur la raison en te donnant 2 indices avant de te donner la solution

                                                                   

                                                                  Indice 1 : le problème est lié à l'utilisation de l'IntervalMatch

                                                                  Indice 2 : regarde les date d'entrée (DENTSJL) et de sortie (DSORSJL)

                                                                    • Re: intevalmatch successifs
                                                                      Florent Lelarge-Otiniano

                                                                      Je n'en attendais pas moins de toi

                                                                       

                                                                      j'imagine parce que c'est la même date, même si ce n'est pas la même heure...

                                                                       

                                                                       

                                                                      mais je ne sais pas comment résoudre ce pb.. tu rajoutes une condition en script du genre

                                                                      if(DATE(DSORSJL)=DATE(DENTSJL), DATE(DSORSJL)+1, DATE(DSORSJL)) as DSORSJLCORR ???

                                                                       

                                                                       

                                                                      je voulais faire tout en 1 seule appli, les longs séjours sur plusieurs années, qui ne posent pas de pb, et les courts-séjours, et c'est sur ceux de 0 jour qu'il y a pb...

                                                                        • Re: intevalmatch successifs
                                                                          Sébastien Fatoux

                                                                          Il y a en fait un problème sur tous les séjours (sauf exception), mais c'est flagrant sur ceux d'une seul journée.

                                                                           

                                                                          IntervalMatch permet de lier des dates de référence (Calendrier) avec des intervalles (DateDébut et DateFin).

                                                                           

                                                                          Les dates de référence n'ont pas d'heure, il faut donc considérer le 01/01/2016 comme 01/01/2016 00:00:00.

                                                                          Dans ton exemple on a l'intervalle suivante 01/01/2016 01:51:00 et 01/01/2016 11:36:00. On a donc aucune date de référence qui tombe dans cette intervalle. Et c'est le cas pour la 1ère journée de chaque séjour (sauf ceux qui sont arrivé à minuit 00:00:00).

                                                                           

                                                                          La solution consiste simplement à ramener DateDébut de l'intervalle au début de la journée dans les tables de LINK_... .

                                                                          On aura alors ça:

                                                                           

                                                                          //*********************************************************
                                                                          //* Création des tables LINK_...
                                                                          //*********************************************************
                                                                          LINK_REF:
                                                                          LOAD
                                                                          CLELINK_REF,
                                                                          CLEDOS_tmp  as CLEDOS,
                                                                          DayStart(DENTSJLas DateDebut,
                                                                          (
                                                                          DSORSJL-0.000001)  as DateFin  //==> ATTENTION les date de début sont identique au date de fin de l'intervalle précédente
                                                                          Resident REF_CHAMBRE;

                                                                          LINK_GIR:
                                                                          LOAD
                                                                          CLELINK_GIR,
                                                                          CLEGIR_tmp  as CLEGIR,
                                                                          DayStart(DAEFGIRas DateDebut,
                                                                          DAFIGIR  as DateFin
                                                                          Resident GIR;

                                                                          LINK_DMT:
                                                                          LOAD
                                                                          CLELINK_DMT,
                                                                          CLEDMT_tmp  as CLEDMT,
                                                                          DayStart(DATESEas DateDebut,
                                                                          (
                                                                          DATSSE-0.000001)  as DateFin  //==> ATTENTION les date de début sont identique au date de fin de l'intervalle précédente
                                                                          Resident DMT;

                                                                          DROP Fields CLEGIR_tmp, CLEDMT_tmp, CLEDOS_tmp;