Forum Discussion

RoseyAlexa's avatar
RoseyAlexa
Helper I
6 years ago

Lookup value based on date between a range

I have two tables:

Timesheets - has staff hours and the date they worked those hours

Career History - has a Start Date and End Date that an employee worked at a particular Branch

 

In the Timesheets table, what is the Syntax for adding a CALCULATED COLUMN which tells me their branch, on the day they recorded their hours.

 

For Example, Fred moves moves from the Sheffield branch to the London branch on 01/01/2020:

 

current Timesheet table:

Staff_IDNameTimesheetDateHours
030Fred Jones23/12/20197.5
030Fred Jones03/01/20209

 

current Career History table (end date is blank if they still work at that branch):

Staff_IDNameStartDateEndDateBranch
030Fred Jones01/07/201931/12/2019Sheffield
030Fred Jones01/01/2020 London

 

Result I want in the Timesheet table:

Staff_IDNameTimesheetDateHoursBranch
030Fred Jones23/12/20197.5Sheffield
030Fred Jones03/01/20209London

 

Please help me by giving the syntax for the calculated column.

7 Replies

  • JarroVGIT's avatar
    JarroVGIT
    Resident Rockstar

    Hi RoseyAlexa ,

    This should meet your requirements. 

    Branch = 
    VAR staffID = Timesheet[Staff_ID]
    VAR timeSheetDate = Timesheet[TimesheetDate]
    RETURN
    CALCULATE(SELECTEDVALUE(Careerhistory[Branch], "Multi"), FILTER(Careerhistory, Careerhistory[Staff_ID] = staffID && Careerhistory[StartDate] <= timeSheetDate && OR(Careerhistory[EndDate] = BLANK(), Careerhistory[EndDate] > timeSheetDate)))

    Result:

     

    Kind regards

    Djerro123

    -------------------------------

    If this answered your question, please mark it as the Solution. This also helps others to find what they are looking for.

    Keep those thumbs up coming! 🙂

    • RoseyAlexa's avatar
      RoseyAlexa
      Helper I

      Nearly right, but it returns a value of Multi for nearly every row.

      • JarroVGIT's avatar
        JarroVGIT
        Resident Rockstar

        Please find my PBIX here where this solution fits your requirements applied to the testdata your provided. If the solution has a different outcome in your real dataset, then the difference between the your dataset and the dataset you provided to us are likely the cause of the malfunctioning. Without knowing what your real dataset looks like, there is very little I can do? 

        The only thing I can think of: are your date columns of the type Date? (They weren't when I copied your test data into PBI)

         

        https://1drv.ms/u/s!Ancq8HFZYL_aiIoUNv6XLc0V5ONqyg?e=kRTFV9 

         

        Kind regards

        Djerro123

        -------------------------------

        If this answered your question, please mark it as the Solution. This also helps others to find what they are looking for.

        Keep those thumbs up coming! 🙂