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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
Anonymous
Not applicable

compare table values with a measure does not work

Hello all,

 

I have observed a behaviour in DAX that I can't understand.

I want to compare  the "Leadtime" column in a table to determine the elements with "Leadtime" greater than a threshold:

 

00_IsLTmorethanT2 = ('AO Input'[Leadtime]> 'AO Input'[10_minLT]) #this does not work
 
'AO Input'[Leadtime] is a column
'AO Input'[10_minLT] is a measure (copied at the end of this message)
 
The expression written this way does not work.
It works if instead of an expression I compare against a constant value:
 
00_IsLTmorethanT2 = 'AO Input'[Leadtime]> 360 #this works
 
How can I fix this? Thanks for your help.
 
The expression calculating 10_minLT is this (it is a workaround to let the user input a parameter using a filter)
10_minLT =
IF (
    HASONEVALUE (T2[Material Lead Time]);
    VALUES (T2[Material Lead Time]);
    180)
1 ACCEPTED SOLUTION
AlB
Super User
Super User

Hi @Anonymous 

 You have a calculated column in your table . That is static and there is no filter context; that's why your measure will always yield 180 HASONEVALUE is always FALSE. You need to create a measure and use it in the table visual:

00_IsLTmorethanT2_Measure = (SELECTEDVALUE('AO Input'[Ges. Beschaffungszeit]) > 'AO Input'[10_minLT2])
and get rid of the  00_IsLTmorethanT2 column. See attached file

Please mark the question solved when we get to the solution and consider kudoing if posts are helpful.


Cheers  Datanaut

View solution in original post

6 REPLIES 6
AlB
Super User
Super User

Hi @Anonymous 

 You have a calculated column in your table . That is static and there is no filter context; that's why your measure will always yield 180 HASONEVALUE is always FALSE. You need to create a measure and use it in the table visual:

00_IsLTmorethanT2_Measure = (SELECTEDVALUE('AO Input'[Ges. Beschaffungszeit]) > 'AO Input'[10_minLT2])
and get rid of the  00_IsLTmorethanT2 column. See attached file

Please mark the question solved when we get to the solution and consider kudoing if posts are helpful.


Cheers  Datanaut

Anonymous
Not applicable

Great thanks @AlB , it works great and I accepted your reply as solution.

 

Actually, in my full report I still have the issue that the comparison result is not updated. That report is much more complicated, with different tables & relations among them.

I'll try sorting it out myself, keeping in mind that calculated columns are static.

 

Thanks again and have a nice day!

AlB
Super User
Super User

Hi @Anonymous 

Can you share the pbix, or a simplified version thereof that reproduces the issue?

Anonymous
Not applicable

@AlB Thanks for replying.

 

yes, sure I can share a reduced version.

What is the recommended way of sharing pbix? I checked out the "using the community" forum but did not find instructions there.

 

(maybe a hint for @BrandyG_iTalent to add a "how to share a pbix with the community" there).

 

Many thanks and regards.

@Anonymous 

Sounds like a good idea. Many people actually ask that.

You have to share the URL to the file hosted elsewhere: Dropbox, Onedrive... or just upload the file to a site like tinyupload.com (no sign-up required).

Anonymous
Not applicable

Hello @AlB ,

 

I'll do with onedrive:

link to folder

 

In the folder I added the pbix and the data source (an excel sheet).

 

Thanks again,

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

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

Top Solution Authors