- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Calculation of growth percentage between months / Quarters / Years in matrix
Category | January | February | March | April | May | June |
a | 100 | 1250 | 1350 | 1550 | 1650 | 1750 |
b | 200 | 2250 | 2350 | 2550 | 2650 | 2750 |
To display the correct balance also in the display by quarters like this:
Category | Q1 | Q2 | Q3 | Q4 |
a | 1350 | 1750 | ||
b | 2350 | 2750 |
TotalAssetEOPeriod =
CALCULATE(
MyFact[TotalAsset],
LASTNONBLANK(
PARALLELPERIOD(
'Dim_Calendar'[Date],
0,
MONTH),
MyFact[TotalAsset]))
*** If I change from 0 to -1 the results are incorrect
How do I show the balance for the previous period?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you for the answer
the example data in the table you gave is correct
but I did not understand
My problem is to find the growth percentage like here:
Category | Q1 | Q2 | Q3 | |||
Balance | GrowthPercent | Balance | GrowthPercent | Balance | GrowthPercent | |
a | 1350 | 0% | 1750 | 29.6% | 1800 | 2.9% |
b | 2350 | 0% | 2750 | 17.0% | 2800 | 1.8% |
Thanks in advance
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi @urielp ,
Sorry for late coming.
Follow these steps at the basis of the solution above.
Create a calculated column.
rank =
RANKX (
FILTER (
'Sheet1',
'Sheet1'[Category] = EARLIER ( Sheet1[Category] )
&& 'Sheet1'[Column] <> BLANK ()
),
'Sheet1'[Column],
,
ASC
)
Then create a calculated column to return the growth percentage.
growth percentage =
VAR _a =
CALCULATE (
MAX ( 'Sheet1'[Column] ),
FILTER (
'Sheet1',
'Sheet1'[Category] = EARLIER ( Sheet1[Category] )
&& 'Sheet1'[rank] < EARLIER ( Sheet1[rank] )
)
)
RETURN
IF ( 'Sheet1'[rank] > 1, ( 'Sheet1'[Column] - _a ) / _a, 0 )
Put "growth percentage" in the matrix, you will get the expected output.
I attach my sample below for your reference.
Best Regards,
Community Support Team _ xiaosun
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi @urielp ,
According to your description, I made a sample and here is my solution.
Sample data:
We need to use the "Merged" which is a date type. Create a column to return the Quarter.
Quarter =
VAR _a =
QUARTER ( 'Sheet1'[Merged] )
RETURN
SWITCH ( _a, 1, "Q1", 2, "Q2", 3, "Q3", 4, "Q4" )
Then create a column to return balance.
Column =
IF (
CALCULATE (
MAX ( 'Sheet1'[Merged] ),
FILTER ( 'Sheet1', 'Sheet1'[Quarter] = EARLIER ( Sheet1[Quarter] ) )
) = 'Sheet1'[Merged],
'Sheet1'[Balance]
)
Put them into a matrix as below, you will get the expected output.
I attach my sample below for your reference. If this does not help, please provide us your sample(PBIX. file) in order that we can help you further more.
Best Regards,
Community Support Team _ xiaosun
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Helpful resources
Join us at the Microsoft Fabric Community Conference
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Power BI Monthly Update - February 2025
Check out the February 2025 Power BI update to learn about new features.

Subject | Author | Posted | |
---|---|---|---|
07-18-2024 04:18 AM | |||
10-12-2024 12:45 PM | |||
10-10-2024 02:50 AM | |||
07-05-2024 11:01 AM | |||
12-13-2024 06:33 AM |
User | Count |
---|---|
24 | |
12 | |
11 | |
10 | |
9 |
User | Count |
---|---|
18 | |
14 | |
13 | |
12 | |
10 |