Forum Discussion

Aesir_1103's avatar
Aesir_1103
New Member
3 years ago
Solved

Direct and Import Tables for Calculated Measure

Hello Experts,

 

I'm still learning Powerbi and I struggling in the calculation when working on a direct query and import query.

 

I have two tables Rates and Timesheet they have both dates and I need to perform a calculation in Timesheet table. to get the rates of the employee on a specific project on a specific date.

 

First I'm trying to calculate rate but it is not giving me the correct rates.

 

RATE CC2 = CALCULATE(SUM(Rates[Rate]),ALLEXCEPT(Timesheet,Timesheets[Key ID]))

 

Table: RatesImport Table    
      
   DateRateKEYID
 EMP1PR0011/1/202320EMP1PR0014492720
 EMP1PR0021/1/202310EMP1PR0024492710
 EMP2PR0011/1/202320EMP2PR0014492720
 EMP3PR0011/2/202330EMP3PR0014492830
 EMP4PR0021/2/202310EMP4PR0024492810
      
      
Table: Timesheet     
Direct QueryEmployeeProjectDateHoursKEYID
 EMP1PR0011/1/20234EMP1PR0014492720
 EMP1PR0021/1/20234EMP1PR0024492710
 EMP2PR0011/1/20238EMP2PR0014492720
 EMP3PR0011/2/20238EMP3PR0014492830
 EMP4PR0021/2/20238EMP4PR0024492810
  • Anonymous's avatar
    Anonymous
    3 years ago

    Hi  Aesir_1103 ,

     

    Here are the steps you can follow:

    1. Create measure.

    Measure_Rate =
    SUMX(
        FILTER(ALL(Rates),
        YEAR('Rates'[Date])=YEAR(MAX('Timesheet'[Date]))&&
        MONTH('Rates'[Date])=MONTH(MAX('Timesheet'[Date]))&&
        'Rates'[Employee]=MAX('Timesheet'[Employee])),'Rates'[Rate])
    Measure =
    [Measure_Rate] * MAX('Timesheet'[Hours])

    2. Result:

     

    Best Regards,

    Liu Yang

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

4 Replies


  • Please show the expected outcome based on the sample data you provided.

    • Aesir_1103's avatar
      Aesir_1103
      New Member

      The expected output should be emp1 for jan 1 cost  120.

       

      I need to do hours x rate per employee on each month. 

      • lbendlin's avatar
        lbendlin
        Icon for Super User rankSuper User

        Don't include the rate in the composite key.  It's a fact column.

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi  Aesir_1103 ,

     

    Here are the steps you can follow:

    1. Create measure.

    Measure_Rate =
    SUMX(
        FILTER(ALL(Rates),
        YEAR('Rates'[Date])=YEAR(MAX('Timesheet'[Date]))&&
        MONTH('Rates'[Date])=MONTH(MAX('Timesheet'[Date]))&&
        'Rates'[Employee]=MAX('Timesheet'[Employee])),'Rates'[Rate])
    Measure =
    [Measure_Rate] * MAX('Timesheet'[Hours])

    2. Result:

     

    Best Regards,

    Liu Yang

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