Forum Discussion

Nicholas-Dunne's avatar
Nicholas-Dunne
Frequent Visitor
8 years ago
Solved

Previous week column

Hello, 

I would like to return the employee's previous week "Units_Labor". I feel like I'm close but I'm not receiving an error or anything in return. 

 

This is the calc that I'm using.

 

Previous week Hours =
       CALCULATE(
                  SUM('Apprentice loc pull'[Units_Labor]),
                  FILTER(
                       ALL('Apprentice loc pull'),
                             'Apprentice loc pull'[emp_code] = MAX('Apprentice loc pull'[emp_code]) &&
                             'Apprentice loc pull'[FiscalYear] = MAX('Apprentice loc pull'[FiscalYear])
                             && 'Apprentice loc pull'[Fiscalweek]
                             = MAX('Apprentice loc pull'[Fiscalweek]) -1
)
)

 

Any help would be appreciated. 

Thank you

  • Hi Nicholas-Dunne,

     

    Please try this DAX formula:

    Previous week Hours =
    LOOKUPVALUE (
        'Apprentice loc pull'[Units_Labor],
        'Apprentice loc pull'[emp_code], 'Apprentice loc pull'[emp_code],
        'Apprentice loc pull'[FiscalYear], 'Apprentice loc pull'[FiscalYear],
        'Apprentice loc pull'[Fiscalweek], 'Apprentice loc pull'[Fiscalweek] - 1
    )

    Best regards,

    Yuliana Gu

2 Replies

  • v-yulgu-msft's avatar
    v-yulgu-msft
    Microsoft Employee

    Hi Nicholas-Dunne,

     

    Please try this DAX formula:

    Previous week Hours =
    LOOKUPVALUE (
        'Apprentice loc pull'[Units_Labor],
        'Apprentice loc pull'[emp_code], 'Apprentice loc pull'[emp_code],
        'Apprentice loc pull'[FiscalYear], 'Apprentice loc pull'[FiscalYear],
        'Apprentice loc pull'[Fiscalweek], 'Apprentice loc pull'[Fiscalweek] - 1
    )

    Best regards,

    Yuliana Gu

    • tishawest's avatar
      tishawest
      Regular Visitor

      This formula works if you do not have previous year's data in your table. At week 1, this formula doesn't know to look at the previous week's rows (52) of the previous year. I've tried to create an IF formula, and here's what I have. The bolded area is my problem. I'm not sure how to nest the argument. The error says The number of arguments is invalid. Function LOOKUPVALUE must have a value for each specified column reference. Any help would be appreciated!

       

      LastWkDriverCountNew =
      IF (Table_hqtr_db_HRWeek_vHRStats[WeekofYear] = 1,
      lookupvalue (
      'Table_hqtr_db_HRWeek_vHRStats'[Drivers],
      'Table_hqtr_db_HRWeek_vHRStats'[Terminal], 'Table_hqtr_db_HRWeek_vHRStats'[Terminal],
      'Table_hqtr_db_HRWeek_vHRStats'[Year], 'Table_hqtr_db_HRWeek_vHRStats'[Year],
      'Table_hqtr_db_HRWeek_vHRStats'[WeekofYear], 'Table_hqtr_db_HRWeek_vHRStats'[WeekofYear] = 52 &&
      'Table_hqtr_db_HRWeek_vHRStats'[Year], 'Table_hqtr_db_HRWeek_vHRStats'[Year] - 1),
      IF (Table_hqtr_db_HRWeek_vHRStats[WeekofYear] <> 1,
      lookupvalue (
      'Table_hqtr_db_HRWeek_vHRStats'[Drivers],
      'Table_hqtr_db_HRWeek_vHRStats'[Terminal], 'Table_hqtr_db_HRWeek_vHRStats'[Terminal],
      'Table_hqtr_db_HRWeek_vHRStats'[Year], 'Table_hqtr_db_HRWeek_vHRStats'[Year],
      'Table_hqtr_db_HRWeek_vHRStats'[WeekofYear], 'Table_hqtr_db_HRWeek_vHRStats'[WeekofYear] - 1)
      ))