Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Nov. 20th, Qlik Insider - Lakehouses: Driving the Future of Data & AI - PICK A SESSION
cancel
Showing results for 
Search instead for 
Did you mean: 
clemporte
Contributor II
Contributor II

Création calendrier qlik sense

Bonjour à toutes et à tous,

Je suis un utilisateur occasionnel de Qlik Sense.

Je rencontre le  problème suivant :

travaillant sur une base de données qui répertorient les travailleurs qui sont détachés en France, je souhaiterais mettre en place un calendrier (via un TCD) qui me permette de connaitre, selon les mois, trimestres et années, ceux qui sont présents sur le sol français.

Pour cela, je dispose des dates de début de missions et de fin de mission.

Je suppose que je devais devoir  créer, dans un 1er temps, un calendrier et le rajouter dans le script de chargement.

Comment dois-je procéder ? je souhaiterais que celui-ci commence à la date du jour et remontent 10 ans en arrière.

Merci d'avance pour votre aide !

Clément

2 Solutions

Accepted Solutions
brunobertels
Master
Master

Bonjour 

Ta solution passe par la fonction intervalmatch 

Je te conseille de faire une recherche avec ce mot clés : intervalmatch 

regarde les exemples. 

N'hésites pas à préciser ton besoin également 

Est ce que ta première table possède un champ Date ? 

comment est ton fichier ou tu as les dates de présence sur le territoire ? ( TCD ? ) 

View solution in original post

clemporte
Contributor II
Contributor II
Author

Bonjour

J'ai finalement trouvé la solution à mon problème  : j'ai simplement crée la mesure suivante à partir de mon champs de calendrier "année" : count(année).

Et à partir de cette mesure, mes durées sont désormais ventilées par année, mois, jours.

Merci encore pour ton aide !

Bonne journée.

View solution in original post

12 Replies
brunobertels
Master
Master

Bonjour 

Ta solution passe par la fonction intervalmatch 

Je te conseille de faire une recherche avec ce mot clés : intervalmatch 

regarde les exemples. 

N'hésites pas à préciser ton besoin également 

Est ce que ta première table possède un champ Date ? 

comment est ton fichier ou tu as les dates de présence sur le territoire ? ( TCD ? ) 

clemporte
Contributor II
Contributor II
Author

Bonjour

Merci pour ta réponse.

Effectivement, en faisant des recherches avec le mot clé "intervalmatch", je tombe sur des  sujets qui correspondent à ma problématique.

Je pense que ça va me permettre de me débrouiller.

En cas de blocage, je me permettrais de revenir vers toi.

Encore merci !

Clément

 

clemporte
Contributor II
Contributor II
Author

Bonjour Bruno,

Je me permets de revenir vers toi concernant la création d'un calendrier qlik sense.

Encore merci pour ton aide. La fonction intervalmatch correspondait effectivement à mes besoins.

Néanmoins, je rencontre un problème lors de la mise en place d'un TCD. Je vais essayer de m'expliquer.

Je travaille sur une base de travailleurs étrangers présents en France. J'ai donc à ma disposition un champs correspondant à la date de début de mission et un autre champs correspondant à la date de fin de mission.

Lorsque j'utilise ma mesure "nbre de travailleurs", les travailleurs se retrouvent bien réparties en fonction des champs du calendrier (année, mois etc ...). En revanche, cela ne fonctionne plus lorsque j'utilise ma mesure "durée par travailleur".

Par exemple, j'ai un travailleur qui est présent en France du 15/11/2016  au 14/11/2017. Je souhaiterais que dans mon tcd la durée totale de 365 jours soit répartie de la façon suivante : 47 jours en 2016 et 317 en 2017. Or, pour l'instant, je me retrouve avec 365 jours en 2016 et 2017.

Y a t il une solution pour répartir correctement la durée totale ?

Merci d'avance

Clément

 

brunobertels
Master
Master

Bonjour 

Si je comprends bien tu as un TCD avec une répartition du nombre de travailleur par période de ton calendrier. 

 

Tu souhaites ajouter une mesure dans ce TCD ou faire un 2ème TCD indiquant le nombre de jour par travailleur qui se ventile dans les dimensions de ton calendrier. 

qu'elle est ton expression pour ta mesure durée par travailleur ? 

 

A vue de nez je dirai qu'il faut agréger ta mesure "durée par travailleur" par les dimension de ton TCD 

 

Quelque chose comme çà : 

Sum( Aggr( Ta mesure, Année, Mois, sem tec )) 

clemporte
Contributor II
Contributor II
Author

Merci pour ta réponse

Mon expression "durée par travailleur" est la suivante :

if(OrganismeLibPays='ESPAGNE' or OrganismeLibPays='POLOGNE',sum(NbJoursDetach)/Count(distinct assure_nom_sans_acc&assure_prenom_sans_acc&assure_naissance_date),
sum(NbJoursDetach)/Count(distinct assure_immatriculation))

Je vais tenter avec ta solution.

Merci beaucoup !

clemporte
Contributor II
Contributor II
Author

J'ai oublié. Je voudrais dans un même tcd combiner nbre de travailleurs présents et durée moyenne de présence par travailleur selon le mois ou l'année de calendrier.

clemporte
Contributor II
Contributor II
Author

J'ai essayé ceci mais ça me ramène uniquement des 0

Sum( Aggr( if(OrganismeLibPays='ESPAGNE' or OrganismeLibPays='POLOGNE',sum(NbJoursDetach)/Count(distinct assure_nom_sans_acc&assure_prenom_sans_acc&assure_naissance_date),
sum(NbJoursDetach)/Count(distinct assure_immatriculation)),Année))

brunobertels
Master
Master

Bonjour 

Est ce que dans otn TCD tu n'as que "Année" en dimension ? 

Si tu en as d'autres ( Dimension calendrier ou autres) il faut les ajouter. 

clemporte
Contributor II
Contributor II
Author

Bonjour

Effectivement, j'avais oublié de rajouter une dimension. A présent, je n'ai plus de 0 mais je reviens à mon problème initial.

A savoir que ma durée globale est répartie sur chaque mois / année de mon calendrier (exemple : mission effectuée du 01/01/2018 au 31/12/2019 : 730 jours reportés sur les 24 mois concernés).

Ma formule ci-dessous:

Sum( Aggr( if(OrganismeLibPays='ESPAGNE' or OrganismeLibPays='POLOGNE',sum(NbJoursDetach)/Count(distinct assure_nom_sans_acc&assure_prenom_sans_acc&assure_naissance_date),
sum(NbJoursDetach)/Count(distinct assure_immatriculation)),Mois, Année))

Je suis preneur pour toute suggestion !

Merci