Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago
Solved

problemas de datediff

Buenos días Deseo devolver un tiempo (duración) en segundos desde un determinado elemento. Tan pronto como me sale la etiqueta "Ordre fermeture vanne de garde" que es una orden de cierre para...
  • Anonymous's avatar
    Anonymous
    6 years ago

    Lo descubrí,
    gracias @v-xicai por la referencia mediante el uso de variables.

    Para aquellos de ustedes que podrían estar interesados, aquí está la fórmula final:

    Durée fermeture(secondes) = 
    
    Var _DebutDate = 
        CALCULATE(
            MAX('GU_BasseMaulde_CDEVDG'[Date et heure]),
            FILTER(
                ALLEXCEPT('GU_BasseMaulde_CDEVDG', GU_BasseMaulde_CDEVDG[EGF], GU_BasseMaulde_CDEVDG[Site]), 
                GU_BasseMaulde_CDEVDG[Date et heure]
                < EARLIER('GU_BasseMaulde_CDEVDG'[Date et heure]) && 'GU_BasseMaulde_CDEVDG'[Description de l'évenement] = "Ordre fermeture vanne de garde" && GU_BasseMaulde_CDEVDG[Etat de l'évenement] = "Présente"))
    
    Var _FinDate = 
        CALCULATE(
            MAX('GU_BasseMaulde_CDEVDG'[Date et heure]),
            FILTER(
                ALLEXCEPT('GU_BasseMaulde_CDEVDG', GU_BasseMaulde_CDEVDG[EGF], GU_BasseMaulde_CDEVDG[Site]), 
                GU_BasseMaulde_CDEVDG[Date et heure]
                <= EARLIER('GU_BasseMaulde_CDEVDG'[Date et heure]) && 'GU_BasseMaulde_CDEVDG'[Description de l'évenement] = "Vanne de garde fermée" && GU_BasseMaulde_CDEVDG[Etat de l'évenement] = "Présente"))
    
    RETURN
        IF('GU_BasseMaulde_CDEVDG'[Description de l'évenement] = "Vanne de garde fermée" && 'GU_BasseMaulde_CDEVDG'[Etat de l'évenement] = "Présente", DATEDIFF(_DebutDate , _FinDate, SECOND), 0)