Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!To celebrate FabCon Vienna, we are offering 50% off select exams. Ends October 3rd. Request your discount now.
I have the following table, where the monthly account scores are broken down by category and customer ID. For each ID and category, I would like to get the previous month's data as a calculated column. I tried creating this as a measure but the matrix totals are not accurate, and I was told that creating this as a calculated column can solve my issue. Any help is appreciated:
Current Table:
Customer ID | Month | Category | Score |
1001 | 01-02-2022 | Security | .98 |
1001 | 01-02-2022 | Cost | .84 |
1001 | 01-02-2022 | Other | .70 |
1001 | 01-03-2022 | Security | .91 |
1001 | 01-03-2022 | Cost | .92 |
Desired Table:
Customer ID | Month | Category | Score | Last Month Score |
1001 | 01-02-2022 | Security | .98 | |
1001 | 01-02-2022 | Cost | .84 | |
1001 | 01-02-2022 | Other | .70 |
|
1001 | 01-03-2022 | Security | .91 | .98 |
1001 | 01-03-2022 | Cost | .92 | .84 |
I will then be calculating the percent point change in each score.
Solved! Go to Solution.
Hi @byr10112 ,
Please create a column like below:-
Column =
VAR _lastmonth =
IF ( MONTH ( 'Table (4)'[Month] ) = 1, 12, MONTH ( 'Table (4)'[Month] ) - 1 )
VAR _year =
IF (
MONTH ( 'Table (4)'[Month] ) = 1,
YEAR ( 'Table (4)'[Month] ) - 1,
YEAR ( 'Table (4)'[Month] )
)
RETURN
CALCULATE (
MAX ( 'Table (4)'[Score] ),
FILTER (
ALL ( 'Table (4)' ),
'Table (4)'[Customer ID] = EARLIER ( 'Table (4)'[Customer ID] )
&& 'Table (4)'[Category] = EARLIER ( [Category] )
&& MONTH ( 'Table (4)'[Month] ) = _lastmonth
&& YEAR ( 'Table (4)'[Month] ) = _year
)
)
Output:-
Thanks,
Samarth
Best Regards,
Samarth
If this post helps, please consider accepting it as the solution to help the other members find it more quickly.
Appreciate your Kudos!!
Connect on Linkedin
Hi @byr10112 ,
Please create a column like below:-
Column =
VAR _lastmonth =
IF ( MONTH ( 'Table (4)'[Month] ) = 1, 12, MONTH ( 'Table (4)'[Month] ) - 1 )
VAR _year =
IF (
MONTH ( 'Table (4)'[Month] ) = 1,
YEAR ( 'Table (4)'[Month] ) - 1,
YEAR ( 'Table (4)'[Month] )
)
RETURN
CALCULATE (
MAX ( 'Table (4)'[Score] ),
FILTER (
ALL ( 'Table (4)' ),
'Table (4)'[Customer ID] = EARLIER ( 'Table (4)'[Customer ID] )
&& 'Table (4)'[Category] = EARLIER ( [Category] )
&& MONTH ( 'Table (4)'[Month] ) = _lastmonth
&& YEAR ( 'Table (4)'[Month] ) = _year
)
)
Output:-
Thanks,
Samarth
Best Regards,
Samarth
If this post helps, please consider accepting it as the solution to help the other members find it more quickly.
Appreciate your Kudos!!
Connect on Linkedin
User | Count |
---|---|
97 | |
73 | |
69 | |
43 | |
23 |