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!Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Request now
Hello PBI folks,
I have a data in PBI that contains snapshots including movements of specific projects from the start up to date.
I want to have a comparison value that is based on what dates are selected in the two date slicers:
Is there a way to transform the current table below into my expected output?
See sample project below:
Current table in PBI
The expected output for this sample project I want to achieve will be exactly like this:
Sample report is here:
Solved! Go to Solution.
Hi @cruzp
Please create measures.
Stage =
CALCULATE(
SELECTEDVALUE('Table'[STAGE_NAME]),
FILTER(
ALL('Table'),
'Table'[DATE] = MAX('New Date'[new date])
)
)
Old Value =
CALCULATE(
MAX('Table'[STAGE_NAME]),
FILTER(
ALL('Table'),
'Table'[DATE] = MIN('Old Date'[Old date])
)
)
New Value =
CALCULATE(
MAX('Table'[STAGE_NAME]),
FILTER(
ALL('Table'),
'Table'[DATE] = MAX('New Date'[new date])
))
Here is the result.
Regards,
Nono Chen
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi @cruzp
Please create measures.
Stage =
CALCULATE(
SELECTEDVALUE('Table'[STAGE_NAME]),
FILTER(
ALL('Table'),
'Table'[DATE] = MAX('New Date'[new date])
)
)
Old Value =
CALCULATE(
MAX('Table'[STAGE_NAME]),
FILTER(
ALL('Table'),
'Table'[DATE] = MIN('Old Date'[Old date])
)
)
New Value =
CALCULATE(
MAX('Table'[STAGE_NAME]),
FILTER(
ALL('Table'),
'Table'[DATE] = MAX('New Date'[new date])
))
Here is the result.
Regards,
Nono Chen
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi @cruzp
For your question, here is the method I provided:
Here's some dummy data
“Table”
Create new tables.
The date table is used to create the slicer.
Old Date = SELECTCOLUMNS('Table', "Old date", 'Table'[DATE])
New Date = SELECTCOLUMNS('Table', "new date", 'Table'[DATE])
Here is the result table.
Result Table =
SUMMARIZE(
'Table',
"Project Code",
SELECTEDVALUE('Table'[PROJECT_BK]),
"Stage",
CALCULATE(
SELECTEDVALUE('Table'[STAGE_NAME]),
FILTER(
ALL('Table'),
'Table'[DATE] = MAX('New Date'[new date])
)
),
"Start Date",
SELECTEDVALUE('Table'[START_DATE]),
"End Date",
SELECTEDVALUE('Table'[END_DATE]),
"Old Value",
CALCULATE(
SELECTEDVALUE('Table'[STAGE_NAME]),
FILTER(
ALL('Table'),
'Table'[DATE] = MIN('Old Date'[Old date])
)
),
"New Value",
CALCULATE(
SELECTEDVALUE('Table'[STAGE_NAME]),
FILTER(
ALL('Table'),
'Table'[DATE] = MAX('New Date'[new date])
)
)
)
Here is the result.
Regards,
Nono Chen
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi @Anonymous thanks for the suggestion. is there a way to have it without using summarize table? like a more straight forward approach? because i will be adding more columns in the table
Check out the November 2025 Power BI update to learn about new features.
Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!
| User | Count |
|---|---|
| 101 | |
| 76 | |
| 56 | |
| 51 | |
| 46 |