Forum Discussion
Percentage calculation
- 3 years ago
seems straightforward. What happened to 2022 ?
- Anonymous3 years ago
Hi sanc_152 ,
Please try below steps:
1. create measure with below dax formula
Percentage Q1 = VAR cur_year = SELECTEDVALUE ( 'Table'[Year] ) VAR tmp = FILTER ( ALL ( 'Table' ), 'Table'[Year] < cur_year ) VAR pre_year = MAXX ( tmp, [Year] ) VAR _a = CALCULATE ( MAX ( 'Table'[Q1] ), 'Table'[Year] = cur_year ) VAR _b = CALCULATE ( MAX ( 'Table'[Q1] ), 'Table'[Year] = pre_year ) VAR _val = DIVIDE ( _a - _b, _b ) RETURN IF ( ISBLANK ( pre_year ) || ISBLANK ( _a ), 0, _val )Percentage Q2 = VAR cur_year = SELECTEDVALUE ( 'Table'[Year] ) VAR tmp = FILTER ( ALL ( 'Table' ), 'Table'[Year] < cur_year ) VAR pre_year = MAXX ( tmp, [Year] ) VAR _a = CALCULATE ( MAX ( 'Table'[Q2] ), 'Table'[Year] = cur_year ) VAR _b = CALCULATE ( MAX ( 'Table'[Q2] ), 'Table'[Year] = pre_year ) VAR _val = DIVIDE ( _a - _b, _b ) RETURN IF ( ISBLANK ( pre_year ) || ISBLANK ( _a ), 0, _val )Percentage Q3 = VAR cur_year = SELECTEDVALUE ( 'Table'[Year] ) VAR tmp = FILTER ( ALL ( 'Table' ), 'Table'[Year] < cur_year ) VAR pre_year = MAXX ( tmp, [Year] ) VAR _a = CALCULATE ( MAX ( 'Table'[Q3] ), 'Table'[Year] = cur_year ) VAR _b = CALCULATE ( MAX ( 'Table'[Q3] ), 'Table'[Year] = pre_year ) VAR _val = DIVIDE ( _a - _b, _b ) RETURN IF ( ISBLANK ( pre_year ) || ISBLANK ( _a ), 0, _val )Percentage Q4 = VAR cur_year = SELECTEDVALUE ( 'Table'[Year] ) VAR tmp = FILTER ( ALL ( 'Table' ), 'Table'[Year] < cur_year ) VAR pre_year = MAXX ( tmp, [Year] ) VAR _a = CALCULATE ( MAX ( 'Table'[Q4] ), 'Table'[Year] = cur_year ) VAR _b = CALCULATE ( MAX ( 'Table'[Q4] ), 'Table'[Year] = pre_year ) VAR _val = DIVIDE ( _a - _b, _b ) RETURN IF ( ISBLANK ( pre_year ) || ISBLANK ( _a ), 0, _val )2. add a table visual with field and measure
Please refer the attached .pbix file.
Best regards,
Community Support Team_Binbin Yu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi sanc_152 ,
Please try below steps:
1. create measure with below dax formula
Percentage Q1 =
VAR cur_year =
SELECTEDVALUE ( 'Table'[Year] )
VAR tmp =
FILTER ( ALL ( 'Table' ), 'Table'[Year] < cur_year )
VAR pre_year =
MAXX ( tmp, [Year] )
VAR _a =
CALCULATE ( MAX ( 'Table'[Q1] ), 'Table'[Year] = cur_year )
VAR _b =
CALCULATE ( MAX ( 'Table'[Q1] ), 'Table'[Year] = pre_year )
VAR _val =
DIVIDE ( _a - _b, _b )
RETURN
IF ( ISBLANK ( pre_year ) || ISBLANK ( _a ), 0, _val )
Percentage Q2 =
VAR cur_year =
SELECTEDVALUE ( 'Table'[Year] )
VAR tmp =
FILTER ( ALL ( 'Table' ), 'Table'[Year] < cur_year )
VAR pre_year =
MAXX ( tmp, [Year] )
VAR _a =
CALCULATE ( MAX ( 'Table'[Q2] ), 'Table'[Year] = cur_year )
VAR _b =
CALCULATE ( MAX ( 'Table'[Q2] ), 'Table'[Year] = pre_year )
VAR _val =
DIVIDE ( _a - _b, _b )
RETURN
IF ( ISBLANK ( pre_year ) || ISBLANK ( _a ), 0, _val )
Percentage Q3 =
VAR cur_year =
SELECTEDVALUE ( 'Table'[Year] )
VAR tmp =
FILTER ( ALL ( 'Table' ), 'Table'[Year] < cur_year )
VAR pre_year =
MAXX ( tmp, [Year] )
VAR _a =
CALCULATE ( MAX ( 'Table'[Q3] ), 'Table'[Year] = cur_year )
VAR _b =
CALCULATE ( MAX ( 'Table'[Q3] ), 'Table'[Year] = pre_year )
VAR _val =
DIVIDE ( _a - _b, _b )
RETURN
IF ( ISBLANK ( pre_year ) || ISBLANK ( _a ), 0, _val )
Percentage Q4 =
VAR cur_year =
SELECTEDVALUE ( 'Table'[Year] )
VAR tmp =
FILTER ( ALL ( 'Table' ), 'Table'[Year] < cur_year )
VAR pre_year =
MAXX ( tmp, [Year] )
VAR _a =
CALCULATE ( MAX ( 'Table'[Q4] ), 'Table'[Year] = cur_year )
VAR _b =
CALCULATE ( MAX ( 'Table'[Q4] ), 'Table'[Year] = pre_year )
VAR _val =
DIVIDE ( _a - _b, _b )
RETURN
IF ( ISBLANK ( pre_year ) || ISBLANK ( _a ), 0, _val )
2. add a table visual with field and measure
Please refer the attached .pbix file.
Best regards,
Community Support Team_Binbin Yu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi Anonymous
Thank You so much for your reply.
Can you please help me on below scenario.
It is the same case but data granularity Is differnt.
YearAttributeValue
| 2020 | Q1 | 40 |
| 2020 | Q2 | 42 |
| 2020 | Q3 | 44 |
| 2020 | Q4 | 45 |
| 2021 | Q1 | 56 |
| 2021 | Q2 | 70 |
| 2021 | Q3 | 71 |
| 2021 | Q4 | 72 |
| 2023 | Q1 | 45 |
| 2023 | Q2 | 46 |
| 2023 | Q3 | 47 |
| 2023 | Q4 | 48 |
and the expected result ouput :
| Year | Q1 | Q2 | Q3 | Q4 |
| 2020 | -0.047619 | -0.04545 | ||
| 2021 | -0.2 | -0.01408 | ||
| 2023 | -0.0217391 | 0.978723 | ||
| 2024 |
quarter on quarter comparision on same year quarter.for eg q2 vs Q1 of 2021 and more on
can you please help on this ..
Anonymous