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!The Power BI Data Visualization World Championships is back! It's time to submit your entry. Live now!
Hello!
I have two fact tables:
My goal:
Is there a way to do this on the same page? If anyone has examples, best practices, or links to tutorials, I’d appreciate it!
Thanks in advance!
Hii @cadlamp
If this solution worked for you, please Mark as Solution! It helps others in the community find this answer more easily. Cheers!
You can create a date table.
For the first budge year, since the fiscal year is the same as calendar year. Then you just link the budge date to the date table.
for the next two tables, you can create a new date colum
Proud to be a Super User!
Hello,
The key idea is to stop thinking in terms of two calendars and instead have one proper Date table that understands both logics. From the same date you can derive a budget year that runs January to December and an academic year that runs August to July. Once those year definitions live in the Date table, everything becomes much easier.
Your payments connect to the Date table through the payment date. Budget allocation can either use the budget year column from that same Date table or stay as it is if it’s already clean. When you write measures, the budget progress simply respects the budget year filter coming from the slicer, while the student-level measures deliberately use the academic year columns from the Date table. In DAX this is normal and safe, and visuals on the same page can happily follow different year definitions.
Hii @cadlamp
Using a slicer from the Budget Allocation table limits your entire report to the Fiscal logic. Because the Academic Year (Aug–Jul) "straddles" two Fiscal years, a standard year filter will cut off your academic data prematurely.
Step 1: Create a Custom Calendar Table
Do not use the date columns from your fact tables for slicers. Create a central Date table using DAX that defines both cycles:
DateTable =
ADDCOLUMNS (
CALENDARAUTO(),
"Fiscal Year", YEAR([Date]),
"Academic Year", IF(MONTH([Date]) >= 8, YEAR([Date]) & "-" & YEAR([Date]) + 1, YEAR([Date]) - 1 & "-" & YEAR([Date])),
"Month No", MONTH([Date])
)
Step 2: Establish Relationships
Connect your new DateTable[Date] to:
Step 3: Create "Snapshot" Measures
Since your page is filtered by "Budget Year" (Fiscal), your Academic measures need to "ignore" the Fiscal filter to show the full Aug–Jul range. Use CALCULATE with ALL or REMOVEFILTERS.
Budget Progress (Fiscal):
Budget Progress = SUM('Budget Allocation'[Amount])
Student Academic Progress:
This measure forces the calculation to look at the Academic cycle regardless of the Fiscal slicer:
Academic Year Payment =
VAR CurrentAcademicYear = SELECTEDVALUE('DateTable'[Academic Year])
RETURN
CALCULATE(
SUM('Payment'[Amount]),
REMOVEFILTERS('DateTable'[Fiscal Year]),
'DateTable'[Academic Year] = CurrentAcademicYear
)
The key is to disconnect the slicer from the Fact table. Use a central Calendar table with an Academic Year column and use CALCULATE(..., REMOVEFILTERS('Date'[Fiscal Year])) to ensure your Academic totals remain accurate even when a Fiscal filter is active.
If this dual-calendar approach solves your budget tracking issue, please mark this as the "Accepted Solution"!
| User | Count |
|---|---|
| 50 | |
| 42 | |
| 36 | |
| 31 | |
| 28 |
| User | Count |
|---|---|
| 139 | |
| 129 | |
| 61 | |
| 59 | |
| 57 |