Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
8 years ago
Solved

Lookup value with two variables - need help

Hi!

 

I have an issue with with report I'm building for my company. I have a two tables that I want to combine. One with Salary listed per employee and another table with worked hours. Salaries for employees is listed for each salary period in a new row (from one date to another). Worked hours is listed per day and shows worked hours for each day per employee ID. There is also a table with information about the employee where employees are only listed once per row.

 

I would like to somehow get the correct salary from the "Salary" table to the "Worked hours" table, looking at the employee ID and the date when they worked. This is to then make a report for the total cost of personnel-costs.

 

Here is an example of the data (a simplified example of how the real data model looks).

 

Would really appriciate any help as I've been stuck for the last couple of days.

 

Thanks!

  • Looking for something like this? (assuming HoursWorked and Salary are both related to Employees).

     

    =VAR dt = HoursWorked[Date]
    RETURN CALCULATE( 
           VALUES(Salary[Salary])
        	,Salary[FromDate] <= dt
        	,Salary[ToDate] > dt || Salary[ToDate] = BLANK()    
        	,ALLEXCEPT( HoursWorked, Employee[EmployeeID] )
     )

    Note, the expression will return an error if more than one salary is found for a given employee at any time.

2 Replies

  • Looking for something like this? (assuming HoursWorked and Salary are both related to Employees).

     

    =VAR dt = HoursWorked[Date]
    RETURN CALCULATE( 
           VALUES(Salary[Salary])
        	,Salary[FromDate] <= dt
        	,Salary[ToDate] > dt || Salary[ToDate] = BLANK()    
        	,ALLEXCEPT( HoursWorked, Employee[EmployeeID] )
     )

    Note, the expression will return an error if more than one salary is found for a given employee at any time.