This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. We're covering it all. You won't want to miss it.
Learn moreLevel up your Power BI skills this month - build one visual each week and tell better stories with data! Get started
Hi all,
Sorry, far from a DAX maestro and have been fiddling with Sum, filter and calculation to make this work but it's still not coming out as I'd expect.
Situation is I have two tables, one which has a list of all upcoming projects ('Project List', including a monthly income and start and end dates of the project. Second table is a Calendar table spanning 2025-2035. What I am looking to do is for every 1st of the month on the calendar table, for it to sum up the value of all monthly income expected in based on whether the 1st of the month is between the start and end dates of the project.
I've started trying to make it with a measure or just calculating it within the column, closest I've gotten is;
Solved! Go to Solution.
Hi @T_J ,
Based on your explanation I assume that your calendar table has a relationship with the Project list table, based on the start date probably.
Try to change your calculation to something similar to this:
Monthly Income = CALCULATE(Sum('Project List'[Monthly Income]),FILTER('Project List','Calendar'[Date]>='Project List'[Start Date] && 'Calendar'[Date] < 'Project List'[End Date]), CROSSFILTER('Calendar'[Date],'Project List'[Start Date], None ))
The additional CROSSFILTER syntax will remove the relationship from this calculation and then use the filters of the dates to return values.
Regards
Miguel Félix
Proud to be a Super User!
Check out my blog: Power BI em PortuguêsHi @T_J
Here's a step-by-step solution using your two tables:
Your goal is to show monthly income only on the 1st of each month, where that date falls within a project's duration. Here's how you can do that:
Go to the Calendar table and create this measure:
MonthlyIncomeOn1st =
VAR CurrentDate = MAX('Calendar'[Date])
RETURN
IF (
DAY(CurrentDate) = 1,
CALCULATE (
SUM ( 'Project List'[Monthly Income] ),
FILTER (
'Project List',
'Project List'[Start Date] <= CurrentDate
&& 'Project List'[End Date] >= CurrentDate
)
)
)
Add to a Visual
Thank you! The other poster who posted first had a solution that worked in the table format I was looking for but this might be worth it for any others looking
Hi @T_J ,
Based on your explanation I assume that your calendar table has a relationship with the Project list table, based on the start date probably.
Try to change your calculation to something similar to this:
Monthly Income = CALCULATE(Sum('Project List'[Monthly Income]),FILTER('Project List','Calendar'[Date]>='Project List'[Start Date] && 'Calendar'[Date] < 'Project List'[End Date]), CROSSFILTER('Calendar'[Date],'Project List'[Start Date], None ))
The additional CROSSFILTER syntax will remove the relationship from this calculation and then use the filters of the dates to return values.
Regards
Miguel Félix
Proud to be a Super User!
Check out my blog: Power BI em PortuguêsThank you! This worked perfectly! Just needed to apply the one other filter to the date to keep it to the 1st only and that's all worked out!
Check out the April 2026 Power BI update to learn about new features.
Sign up to receive a private message when registration opens and key events begin.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
| User | Count |
|---|---|
| 5 | |
| 4 | |
| 3 | |
| 3 | |
| 3 |
| User | Count |
|---|---|
| 10 | |
| 8 | |
| 8 | |
| 6 | |
| 6 |