cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
LloydThomas
Helper I
Helper I

Percentage Change showing incorrectly

I am having a problem showing the percentage change for when both values are 0. For example, if my figure for 2020 was 0, and my figure for 2021 was 0. I would want my % change visual to show 0% - as there has been no change. However it is showing -100%. This only affects figures where they are both 0, it works perfectly if both figures are 1 and it would show 0% change.

Below is my measure i'm using - could anyone advise as to why this could be happening?

% Vic Change =
DIVIDE(
CALCULATE(
DISTINCTCOUNT('Fact Incident'[Victim ID]),
FILTER('Date','Date'[Fiscal Year]=MAX('Date'[Fiscal Year])
)
),
CALCULATE(
DISTINCTCOUNT('Fact Incident'[Victim ID]),
FILTER('date','Date'[Fiscal Year]=MIN('Date'[Fiscal Year])))
,0)
- 1
As you can see in the screenshot below, i have two figures of 0 and the % change is showing as -100%:LloydThomas_0-1634036952620.png

 

1 ACCEPTED SOLUTION

@LloydThomas 

 

Mathematically, the correct formula for calculating difference from previous year is:

 

(Cur Year - Prev Year)/Prev Year

 

Based on that, you should modify your formula:

 

% Vic Change =
VAR _Num = 

    CALCULATE (
        DISTINCTCOUNT ( 'Fact Incident'[Victim ID] ),
        FILTER ( 'Date''Date'[Fiscal Year] = MAX ( 'Date'[Fiscal Year] ) )
    )
VAR _Den = 
    CALCULATE (
        DISTINCTCOUNT ( 'Fact Incident'[Victim ID] ),
        FILTER ( 'date''Date'[Fiscal Year] = MIN ( 'Date'[Fiscal Year] ) )
    )
    
VAR _PercentChange = IFERROR((_Num-_Den)/_Den ,0)
RETURN
_PercerntChange

 

Note: You may want to assign appropriate variable names.

 

Cheers!
Vivek

If it helps, please mark it as a solution
Kudos would be a cherry on the top 🙂 (Hit the thumbs up button!)
If it doesn't, then please share a sample data along with the expected results (preferably an excel file and not an image)


https://www.vivran.in/

Connect on LinkedIn

View solution in original post

7 REPLIES 7
vivran22
Community Champion
Community Champion

Hello @LloydThomas 

 

I believe you need to modify the formula:

% Vic Change =
VAR _Num = 

    CALCULATE (
        DISTINCTCOUNT ( 'Fact Incident'[Victim ID] ),
        FILTER ( 'Date', 'Date'[Fiscal Year] = MAX ( 'Date'[Fiscal Year] ) )
    )
VAR _Den = 
    CALCULATE (
        DISTINCTCOUNT ( 'Fact Incident'[Victim ID] ),
        FILTER ( 'date', 'Date'[Fiscal Year] = MIN ( 'Date'[Fiscal Year] ) )
    )
    
VAR _PercentChange = IFERROR(_Num/_Den - 1,0)
RETURN
_PercerntChange

 

Cheers!
Vivek

If it helps, please mark it as a solution
Kudos would be a cherry on the top 🙂 (Hit the thumbs up button!)
If it doesn't, then please share a sample data along with the expected results (preferably an excel file and not an image)


https://www.vivran.in/

Connect on LinkedIn

Hi @vivran22 thanks for this. Unfortunately the end result is the same  = -100%.

@LloydThomas 

 

Mathematically, the correct formula for calculating difference from previous year is:

 

(Cur Year - Prev Year)/Prev Year

 

Based on that, you should modify your formula:

 

% Vic Change =
VAR _Num = 

    CALCULATE (
        DISTINCTCOUNT ( 'Fact Incident'[Victim ID] ),
        FILTER ( 'Date''Date'[Fiscal Year] = MAX ( 'Date'[Fiscal Year] ) )
    )
VAR _Den = 
    CALCULATE (
        DISTINCTCOUNT ( 'Fact Incident'[Victim ID] ),
        FILTER ( 'date''Date'[Fiscal Year] = MIN ( 'Date'[Fiscal Year] ) )
    )
    
VAR _PercentChange = IFERROR((_Num-_Den)/_Den ,0)
RETURN
_PercerntChange

 

Note: You may want to assign appropriate variable names.

 

Cheers!
Vivek

If it helps, please mark it as a solution
Kudos would be a cherry on the top 🙂 (Hit the thumbs up button!)
If it doesn't, then please share a sample data along with the expected results (preferably an excel file and not an image)


https://www.vivran.in/

Connect on LinkedIn

Marik
Solution Supplier
Solution Supplier

@LloydThomas You can add third parameter (write there 1) in DIVIDE function (what function returns when there is dividing by zero).

Hi @Marik , how would this look inside my current measure please? Thanks

Marik
Solution Supplier
Solution Supplier

% Vic Change =
DIVIDE(
  CALCULATE(
    DISTINCTCOUNT('Fact Incident'[Victim ID]),
    FILTER('Date','Date'[Fiscal Year]=MAX('Date'[Fiscal Year])
    )
  ),
  CALCULATE(
    DISTINCTCOUNT('Fact Incident'[Victim ID]),
    FILTER('date','Date'[Fiscal Year]=MIN('Date'[Fiscal Year])
    )
  )
,1)
- 1

That has gave the same result as mine did @Marik = -100%

Helpful resources

Announcements
2022 Release Wave 1 760x460.png

2022 Release Wave 1 Plan

Power Platform release plan for the 2022 release wave 1 describes all new features releasing from April 2022 through September 2022.

Power BI December 2021 Update_carousel 768x460.jpg

Check it Out!

Click here to read more about the December 2021 Updates!

Top Solution Authors