Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
FrankMcQ
Frequent Visitor

Build a column based on a date filter from another table

Hi

 

I have a table of milestones:

Year      Start Date       End Date          Q1                     Q2                      Q3                       Q4

2018     01/10/2017     31/09/2018      01/10/2017       01/01/2018        01/04/2018         01/07/2018

2019     01/10/2018     31/09/2019      01/10/2018       01/01/2019        01/04/2019         01/07/2019

....

 

I also have a table of invoices:

Date                  Amount

01/11/2017       20.87

01/12/2017       32.31

...

 

I wanted to add columns to the financial milestones table to sum all of the invoices in that period... I'm using the following instruction:

Invoices in Q1 = CALCULATE(SUMX(FILTER('Invoices', 
AND('Invoices'[Invoice Date] >= 'Milestones'[Start Date], 'Invoices'[Invoice Date] < 'Milestones'[Q1])),  
'Invoices'[Amount]))


However I keep getting the error: 

Column 'Start Date', 'Q1' cannot be found or may not be used in this expression.

 

I'm struggling to understand why it can't find the columns - is it because I'm operating on the invoices table in the filter?

 

I guess I'm doing this incorrectly, any help would be gratefully received!

1 ACCEPTED SOLUTION
FrankMcQ
Frequent Visitor

Perfect, Many thanks!

View solution in original post

3 REPLIES 3
az38
Community Champion
Community Champion

Hi @FrankMcQ 

try

Invoices in Q1 = CALCULATE(SUMX(FILTER('Invoices', 
AND('Invoices'[Invoice Date] >= SELECTEDVALUE('Milestones'[Start Date]), 'Invoices'[Invoice Date] < SELECTEDVALUE('Milestones'[Q1]))),  
'Invoices'[Amount]))

i think the problem occurs because DAX doesnt understand what exactly Milestone rows should be compared inside Invoices aggregations

do not hesitate to give a kudo to useful posts and mark solutions as solution


do not hesitate to give a kudo to useful posts and mark solutions as solution
LinkedIn
FrankMcQ
Frequent Visitor

Perfect, Many thanks!

amitchandak
Super User
Super User

These calculations will for the column, not for the measure. For measure is expects a single value. This means you have to take a min or max of another table.

 

Not sure why you creating a table like this you can use a calendar in powerbi to do this is a much better manner.

 

https://radacad.com/creating-calendar-table-in-power-bi-using-dax-functions

https://docs.microsoft.com/en-us/dax/time-intelligence-functions-dax

https://www.sqlbi.com/articles/time-intelligence-in-power-bi-desktop/

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.