Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
J'ai un planning de sortie 2 fois par jour midi et départ
pour le midi 12h30 et départ 16h45
je veux afficher seulement le planifier midi 12h30
Planning:
LOAD
USERID & '|' & EDAYS% as Planing_id,
STARTDATE% ,
STARTTIME% ,
`NUM_OF_RUN_ID` ,
EDAYS% ,
ApplyMap ('NombrePointage', `NUM_OF_RUN_ID` & '|' & EDAYS% ) as NombrePointagePrevueParJour ,
(Hour(STARTTIME%) * 60) + Minute(STARTTIME%) as STARTTIME_Minute, // debut
ENDTIME% ,
MakeTime(Hour(ENDTIME%),Minute(ENDTIME%)) as DEpart ,// DEpart
(Hour(ENDTIME%) * 60) + Minute(ENDTIME%) as ENDTTIME_Minute
Resident USER_OF_RUN;
aussi je veux utiliser le planing comme suit :
IF( HeurePointage< '10:00:00' and HeurePointage>'00:00:00' ,'Matin' ,
IF( HeurePointage> '10:00:00' and HeurePointage<'13:15:00' ,'Midi' ,
IF( HeurePointage> '13:15:00' and HeurePointage<'14:30:00' ,'AMidi' , 'Départ'))) as TypePointage
merci d'avance
Je ne comprend pas vraiment la structure de données finale que tu désires dans QlikView.
Tu as actuellement une table planning qui défini des intervalles (début-fin).
Si ton expression "min (MakeTime(Hour(ENDTIME%),Minute(ENDTIME%))) as DEpart ,// DEpart" fait partie de ton script de chargement, C'est normale que cela ne fonctionne pas. Tu ne peux utiliser des fonctions d'agrégation comme Min seulement avec des group by.
Tu peux par exemple ajouter ceci à la suite de ton script pour ajouter un flag "_MidiPlanifier" permettant d'identifier le midi planifier:
Left Join (Planning)
LOAD
Planing_id, // Clé de jointure
min (DEpart) as DEpart, // Clé de jointure
1 as _MidiPlanifier
Resident Planning
Group By Planing_id;
Je n'ai peut-être pas utiliser le bon champ en utilisant Planing_id, il faut que ce champ soit identique pour les 2 périodes d'une même journée d'un même utilisateur. Il va servir à regrouper les 2 périodes d'une même journée d'un même utilisateur et va permettre d'utiliser le Min pour trouver la première période.
Haydher,
Je ne comprend pas ta demande. Peux-tu joindre un jeu d'essai et un exemple de ce que tu attends ?
je veux afficher le midi planifier
dans la base il y le midi planifier et planifier départ
mais quant je utilise min (MakeTime(Hour(ENDTIME%),Minute(ENDTIME%))) as DEpart ,// DEpart
il sort un message d'erreur 'Invalid expression'
Peux tu partager ton application ou, au moins, la totalité de ton expression min (MakeTime(Hour(ENDTIME%),Minute(ENDTIME%))) as DEpart ,// DEpart ?
Es-tu sûr que QLIKVIEW a bien interprété le champ ENDTIME% comme un champ contenant des heures ?
Je ne comprend pas vraiment la structure de données finale que tu désires dans QlikView.
Tu as actuellement une table planning qui défini des intervalles (début-fin).
Si ton expression "min (MakeTime(Hour(ENDTIME%),Minute(ENDTIME%))) as DEpart ,// DEpart" fait partie de ton script de chargement, C'est normale que cela ne fonctionne pas. Tu ne peux utiliser des fonctions d'agrégation comme Min seulement avec des group by.
Tu peux par exemple ajouter ceci à la suite de ton script pour ajouter un flag "_MidiPlanifier" permettant d'identifier le midi planifier:
Left Join (Planning)
LOAD
Planing_id, // Clé de jointure
min (DEpart) as DEpart, // Clé de jointure
1 as _MidiPlanifier
Resident Planning
Group By Planing_id;
Je n'ai peut-être pas utiliser le bon champ en utilisant Planing_id, il faut que ce champ soit identique pour les 2 périodes d'une même journée d'un même utilisateur. Il va servir à regrouper les 2 périodes d'une même journée d'un même utilisateur et va permettre d'utiliser le Min pour trouver la première période.
effectivement ça fonctionne comme tu l'expliques.
Merci
Si ma réponse est correcte, mettre la question comme résolue pour aider les autres membres de la communauté
Bonjour
comment je met cette réponse est résolue !!