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
Anonymous
Not applicable

The True/False expression does not specify a column. Each True/False expressions used as a table

I have issue with my dax expression with this error message
"The True/False expression does not specify a column. Each True/False expressions used as a table filter express must refer to exactly one column". The Dax code is 

 

Sales with 11 months = 
var mindate = MIN(Date[Date])
var maxdate = MAX(Date[Date])
var _sum = CALCULATE( SUM ( Sales[Amount]), USERELATIONSHIP (Date[Date], Sales[Date]))
RETURN
CALCULATE( _sum, FILTER( Sales[Type] IN {"Online", "Shop"}), EDATE(mindate, -11), maxdate)

 

How can I fix the dax above without error message

 

1 ACCEPTED SOLUTION
cpearson
Resolver I
Resolver I

Okay, so the issue is with your filter in your CALCULATE expression:

 

FILTER( Sales[Type] IN {"Online", "Shop"}), EDATE(mindate, -11), maxdate)

 

 

The syntax should be FILTER(Table, Filter Expression) so I think your first one should be

FILTER('Sales', [Type] IN {"Online", "Shop"})
 
You've then got two more filters with no expression so it can't evaluate them.
 
EDATE(mindate,-11)    < this is just going to return a date, it's not evaluating to a true or false.
maxdate                      < again this is just going to return your max date, not evaluate anything.
 
I can't work out what you are trying to do but should EDATE(mindate,-11) = maxdate ? i.e. is that a rogue comma that should be something else? 
 

View solution in original post

3 REPLIES 3
cpearson
Resolver I
Resolver I

Okay, so the issue is with your filter in your CALCULATE expression:

 

FILTER( Sales[Type] IN {"Online", "Shop"}), EDATE(mindate, -11), maxdate)

 

 

The syntax should be FILTER(Table, Filter Expression) so I think your first one should be

FILTER('Sales', [Type] IN {"Online", "Shop"})
 
You've then got two more filters with no expression so it can't evaluate them.
 
EDATE(mindate,-11)    < this is just going to return a date, it's not evaluating to a true or false.
maxdate                      < again this is just going to return your max date, not evaluate anything.
 
I can't work out what you are trying to do but should EDATE(mindate,-11) = maxdate ? i.e. is that a rogue comma that should be something else? 
 
cpearson
Resolver I
Resolver I

Your maxdate variable is incorrectly named as mixdate 

cpearson_0-1675378013942.png

 

Anonymous
Not applicable

@cpearson  Sorry, it is a typo error

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.