Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
jeannedarcel
Contributor II
Contributor II

Création d'une table Date qui permet de lier toutes les dates ensemble

Bonjour,

Voici mon problème :

J'ai 2 tables :

EVENT qui contient la variable deadline qui est la date à laquelle doit se finir l'évènement, la variable state qui permet de savoir si l'évènement est terminé, planifié ou pas encore planifié et d'autres variables

TIME_SLOT qui contient la variable datetime qui correspond aux dates où l'évènement à été réalisé (l'évènement peut s'effectuer sur plusieurs dates donc il peut y avoir plusieurs datetime pour un évènement).

J'aimerais créer une date de début et une date de fin qui me permettrait de savoir: entres ces deux dates, quels sont les évènements qui sont planifiés et/ou réalisé (datetime) et quels sont les évènement non planifiés qui sont à réaliser avant la date butoir (deadline).

Je ne sais pas comment calculer cette date de début et cette date de fin. Je pense qu'il est nécessaire de créer une table DATE qui permettrait de lier toutes les dates ensemble mais je ne sais pas comment faire non plus.

Merci de votre aide.

8 Replies
Taoufiq_Zarra

est ce que tu peux partager un echantillon des données ?

Qlikview ou Qliksense ?

Regards,
Taoufiq ZARRA

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

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

Voici un échantillon des données de la table évènement et de la table time_slot

jeannedarcel
Contributor II
Contributor II
Author

Ce ne sont pas les bonnes tables je vous renvoie un échantillon dans 10 minutes

jeannedarcel
Contributor II
Contributor II
Author

Voici les bonnes tables

Table EVENEMENT :

-event_id-id : identifiant de l'évènement

-deadline: date à laquellle doit être réalisé l'évènement

-duration: temps prévu pour l'évènement (en minutes)

-state: statut de l'évènement (done = réalisé , to_be_planned: à faire mais pas encore planifié, planned et confirmed = planifié)

Table TIME_SLOT

event_id: identifiant de l'évènement

time_slot.duration : Temps réalisé de l'évènement (en minutes) 

datetime : date à laquelle l'évènement à été réalisé -> rappel : l'évènement peut être réalisé sur plusieurs dates

 

Taoufiq_Zarra

ok tres bien

question : date début et date fin vont filtrer sur datetime ou deadline ?

et le output ? tu as une idée un seul tableau ou plusieurs ?

Regards,
Taoufiq ZARRA

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

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

Concernant le nombre de tableaux je ne sais pas encore, le but est de créer un indicateur qui permet de savoir sur la capacité de travail qu'un individu a à faire entre 2 dates quel est la charge de travail (ce qui est planifié et ce qui a à planifier).

J'aimerais ducoup filtrer sur deadline et datetime car les événements à planifier doivent être planifiés et réalisés avant la date butoir (deadline) alors qu'en ce qui concerne les évènements planifiés ou realisés, ils ont déjà une ou plusieurs date de planifiée (datetime). Je sais pas si vous avez compris?

 

Taoufiq_Zarra

Franchement pas bcp.

je vais partager ici le code de chargement  on peut aussi proposer les visualisations après

mais d'abord :

la premiere  des choses est de créer deux dates datedebut et datefin, ces deux dates on va les crées à partir des dates existantes :

donc le script de chargement est

 

 

// chargement de tes tables
Evenement:
LOAD
    "[event_id-id]" as ID,
    Date(deadline) as deadline,
    duration,
    state
FROM [lib://Qlik/Table évènement.xlsx]
(ooxml, embedded labels, table is Sheet1);

Slot:
LOAD
    "event_id-id" as ID,
    time_slot.duration,
    Date(datetime) as datetime
FROM [lib://Qlik/Table time_slot.xlsx]
(ooxml, embedded labels, table is Sheet1);

//extraction de l'ensemble des dates
Date:

load distinct Date(deadline) as D resident Evenement;
load distinct Date(datetime) as D resident Slot;

// choisir la date min et max
LOAD

     Min(D) as MinDate,

     Max(D) as MaxDate

Resident Date;

//creation des variable date debut et fin
LET vMinDate = Date(floor(peek('MinDate')));

LET vMaxDate = Date(floor(peek('MaxDate')));

//generation des dates 1
Date1:
Load

  Date(AddMonths('$(vMaxDate)',12) - recno()) AS Datedebut

Autogenerate (AddMonths('$(vMaxDate)',12) - '$(vMinDate)');


//generation des dates2
Date2:
Load

  Date(AddMonths('$(vMaxDate)',12) - recno()) AS Datefin

Autogenerate (AddMonths('$(vMaxDate)',12) - '$(vMinDate)');

 

 

résultat de script tu as deux dates : datedebut et datefin où tu as l'ensemble des dates :

après tu peux ajouter un tableau avec :

dimension ID= only({<deadline= {">=$(=only(Datedebut))<=$(=only(Datefin))"}> } ID)

et tu peux ajouter les autres égalements ...

ci-joint une version qliksense

donc pour une fois tu as le besoin définit on peut travailler les tableaux ou les graphes

 

Capture.JPG

 

 

 

 

Regards,
Taoufiq ZARRA

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

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

Merci bcp je vais voir si ça correspond à ce que je veux.