Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
4 years ago
Solved

Calculating Percentage Change

Hi,

 

I have a dataset similar to the below.

 

DateJob IDJob HoursPercentage Achieved
01/01/2022110010%
02/01/2022110020%
03/01/2022110050%

 

I need to create a calculated colum showing the percentage difference from each job based upon the previous date entry.

 

Below is an example of the required outcome.

 

DateJob IDJob HoursPercentage AchievedPercentage Difference (Calculated column)
01/01/2022110010%10%
02/01/2022110020%10%
03/01/2022110050%30%

 

Any ideas on how this can be achieved?

  • Anonymous Try this measure:

    Measure =
    VAR Prev_Row = CALCULATE(SUM('Table'[Percentage Achieved]),FILTER(ALL('Table'),'Table'[Date]<=MAX('Table'[Date])))
    VAR Diff_ = Prev_Row-SUM('Table'[Percentage Achieved])
    VAR Result = IF(Diff_=0,SUM('Table'[Percentage Achieved]),Diff_)
    RETURN Result

     

     

4 Replies

  • PVO3's avatar
    PVO3
    Icon for Impactful Individual rankImpactful Individual

    First add an index column in Power Query.

    Then add DAX column like below

    Column =
    VAR _index = 'Table'[Index]-1
    RETURN

    'Table'[Percentage Achieved] -
    CALCULATE(MIN('Table'[Percentage Achieved]),FILTER('Table','Table'[Index] = _index))
    • Anonymous's avatar
      Anonymous
      Not applicable

      Thanks for the quick response. How ever my dataset includes an abundence of jobs. For example, rows for 01/01/2022 could countain 50 jobs, indexing would not refer back to specific job ID's.

      • PVO3's avatar
        PVO3
        Icon for Impactful Individual rankImpactful Individual

        You can fix this in PQ or DAX.

        For PQ solution check this.

  • Anonymous Try this measure:

    Measure =
    VAR Prev_Row = CALCULATE(SUM('Table'[Percentage Achieved]),FILTER(ALL('Table'),'Table'[Date]<=MAX('Table'[Date])))
    VAR Diff_ = Prev_Row-SUM('Table'[Percentage Achieved])
    VAR Result = IF(Diff_=0,SUM('Table'[Percentage Achieved]),Diff_)
    RETURN Result