Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Designer Discussion :

créer une plage horaire à partir d'une date


Sujet :

Designer

  1. #1
    Candidat au Club
    créer une plage horaire à partir d'une date
    Bonjour,
    je débute en création d'univers (BI 4.2)
    J'ai un champ date du style 01/07/2019 13:55:24
    a partir de ce champ je souhaite créer une liste de valeur sous forme de plage horaire : si l'heure est entre 8h et 10h j'ai la valeur "Entre 8h et 10h" etc par palier de 2h jusqu'à 18h.

    J'ai essayé avec un case (je vous epargne le case complet)
    et la fonction fn time()
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
     CASE {fn time(`Ticket GLPI`.Date_resolution)} WHEN {fn time(`Ticket GLPI`.Date_resolution)}<"08:00:00" THEN "Avant 8H" 
    WHEN {fn time(`Ticket GLPI`.Date_resolution)} between "08:00:00" and "09:59:59" THEN "8h-10h"
    WHEN {fn time(`Ticket GLPI`.Date_resolution)} between "10:00:00" and "11:59:59" THEN "10h-12h"
     ELSE  {fn time(`Ticket GLPI`.Date_resolution)} END plage



    aussi avec la fonction fn hour()
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
     CASE {fn hour(`Ticket GLPI`.Date_resolution)} WHEN {fn hour(`Ticket GLPI`.Date_resolution)}<"8" THEN "Avant 8H" 
    WHEN {fn hour(`Ticket GLPI`.Date_resolution)} between "9" and "10" THEN "8h-10h"
    WHEN {fn hour(`Ticket GLPI`.Date_resolution)} between "10" and "12" THEN "10h-12h"
     ELSE  {fn hour(`Ticket GLPI`.Date_resolution)} END plage


    étrangement, certaines valeur sont correctement interprétées (la plage 8h-10h) et le reste non alors que j'ai bien des valeurs correspondantes

    si vous avez une piste un idée, je suis preneur
    J'ai une autre requête similaire sur le mois et l'année qui, elle, fonctionne parfaitement

    Merci à vous

  2. #2
    Candidat au Club
    solution trouvée !
    le code final est
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CASE  WHEN {fn time(`Ticket GLPI`.Date_resolution)}<"08:00:00" THEN "Avant 8H" 
    WHEN {fn time(`Ticket GLPI`.Date_resolution)} between"'08:00:00" and "09:59:59" THEN "8h-10h"
    WHEN {fn time(`Ticket GLPI`.Date_resolution)} between "10:00:00" and "11:59:59" THEN "10h-12h"
    WHEN {fn time(`Ticket GLPI`.Date_resolution)} between "12:00:00" and "13:59:59" THEN "12h-14h"
    WHEN {fn time(`Ticket GLPI`.Date_resolution)} between "14:00:00" and "15:59:59" THEN "14h-16h"
    WHEN {fn time(`Ticket GLPI`.Date_resolution)} between "16:00:00" and "17:59:59" THEN "16h-18h"
     ELSE  "Après 18h" END plage


    le CASE {fn time(`Ticket GLPI`.Date_resolution)} WHEN est de trop, il suffisait de supprimer le fonction

###raw>template_hook.ano_emploi###