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

Grow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.

Reply
jameskeuning
Frequent Visitor

Why does the DAX formula for a very simple LEFT using FIND notwork like it works in every other app?

I have this formula that works fine:

(find(",",'Enforcement%20Tracking'[Matter Name + Details],1,blank())-1)

 

It finds the position of the first comma and then subtracts one

 

And I have this formula that works fine:

left('Enforcement%20Tracking'[Matter Name + Details],12)
 
It returns the left 12 characters.
 
But when I replace the "12" in the second formula with the working formula that finds that actual number of chacters I need, it does not work: "An argument of function LEFT has the wrong data type or has an invalild value.
 
I created a column with the working "find" formula in it and called it Pos. And then I tried:
 
left('Enforcement%20Tracking'[Matter Name + Details],[Pos])
 
And it does not work either
1 ACCEPTED SOLUTION
TomMartens
Super User
Super User

Hey @jameskeuning ,

 

LEFT expects a numeric value, FIND returns BLANK (what is a not a numeric value) if you change the NOTFOUNDPARAMETER to a reasonable value it works as expected.

If you can not provide a reasonable value, then you have to check the return value of FIND and depending on the result you branch to the LEFT algorithm or something different like another BLANK()

DAX does not perfrom implicit type conversion, some people consider this great some don't.

 

Hopefully, this provedes you ideas of how to tackle your challenge.

 

Regards,

Tom



Did I answer your question? Mark my post as a solution, this will help others!

Proud to be a Super User!
I accept Kudos 😉
Hamburg, Germany

View solution in original post

2 REPLIES 2
TomMartens
Super User
Super User

Hey @jameskeuning ,

 

LEFT expects a numeric value, FIND returns BLANK (what is a not a numeric value) if you change the NOTFOUNDPARAMETER to a reasonable value it works as expected.

If you can not provide a reasonable value, then you have to check the return value of FIND and depending on the result you branch to the LEFT algorithm or something different like another BLANK()

DAX does not perfrom implicit type conversion, some people consider this great some don't.

 

Hopefully, this provedes you ideas of how to tackle your challenge.

 

Regards,

Tom



Did I answer your question? Mark my post as a solution, this will help others!

Proud to be a Super User!
I accept Kudos 😉
Hamburg, Germany

Thanks Tom. I noticed that I get a -1 result if there is no comma in the field, so that gave me a hint as to the problem, and your response helped me connect the dots.

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel1

Power BI Monthly Update - May 2024

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