Forum Discussion

DonPepe's avatar
DonPepe
Helper II
3 years ago
Solved

Find element in another table based on DateTime range

Hi,

 

I struggle to link two element in two different table. 

 

So I have two table ; "Planned route" and "Actual route". 

 

I want to compare if all my planned rout are well executed. 

 

For example;

for the planned route "0004264" planned at 00h20 on 6/10/2022

I need to check if I find a record in my actual table of "0004264" with "ActrouDateTime" between 5/10/2022 22h20 and 6/10/2022 02h20 (PlarouDateTime + and - 2 hours) 

 

Thanks for your help,

 

Don 

  • Hi DonPepe 

    Thanks for reaching out to us.

    you can try this measure

    Measure = 
    var _start=MIN(StagPlannedData[PlarouDateTime])-2/24
    var _end=  MIN(StagPlannedData[PlarouDateTime])+2/24
    var _count=CALCULATE(COUNTROWS(StagFullYearDLL),FILTER(ALL(StagFullYearDLL),StagFullYearDLL[ActrouDateTime]<=_end && StagFullYearDLL[ActrouDateTime]>=_start))
    return IF(_count>=1,"Y","N")

     

     

    Best Regards,

    Community Support Team _Tang

    If this post helps, please consider Accept it as the solution to help the other members find it more quickly.

3 Replies

  • Hi,

     

    I already try with the measure below but I dont have the record if the actual route occure before midnight.

     

     

    LinkPlannedActBis = 
    var _minDateTime = MAX(StagPlannedData[PlarouDateTime])-TIME(2,0,0)
    var _maxDateTime = MAX(StagPlannedData[PlarouDateTime])+TIME(2,0,0)
    return 
    IF(
        MAX(StagPlannedData[PLAROU Code])=MAX(StagFullYearDLL[ACTROU Code])
        &&
        MAX(StagFullYearDLL[ActrouDateTime])>_minDateTime
        &&
        MAX(StagFullYearDLL[ActrouDateTime])<_maxDateTime,
        "Y",
        "N"
    )

     

    Fyi ; StagFullYearDLL = Actual table

     

    Regards,

     

    Don

  • v-xiaotang's avatar
    v-xiaotang
    Community Support

    Hi DonPepe 

    Thanks for reaching out to us.

    you can try this measure

    Measure = 
    var _start=MIN(StagPlannedData[PlarouDateTime])-2/24
    var _end=  MIN(StagPlannedData[PlarouDateTime])+2/24
    var _count=CALCULATE(COUNTROWS(StagFullYearDLL),FILTER(ALL(StagFullYearDLL),StagFullYearDLL[ActrouDateTime]<=_end && StagFullYearDLL[ActrouDateTime]>=_start))
    return IF(_count>=1,"Y","N")

     

     

    Best Regards,

    Community Support Team _Tang

    If this post helps, please consider Accept it as the solution to help the other members find it more quickly.

    • DonPepe's avatar
      DonPepe
      Helper II

      Hi v-xiaotang ,

       

      Thanks for your help ! 

      Unfortunately I had the same results than my previous measure, so finaly I did multiple merges in Powerquery and now I have what I want. 

       

      Thanks again for your help,

       

      Don