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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
Anonymous
Not applicable

Subtracting one character from SEARCH result

I have a source column called Defect1Code which can contain any one of dozens of codes that follow this structure: G5.4.1 – Some Text Here. The length of the alphanumeric at the beginning varies, and in some cases the column for a given row may be blank altogether. All are acceptable possibilities.

 

I want to extract the alphanumeric out, so I am using this DAX:

Column = LEFT ([Defect1Code], (SEARCH (" ", [Defect1Code],, BLANK()))

 

This seems to work perfectly, but with one itty-bitty hitch: from what I can tell it also seems to be bringing over the first space after the last alphanumeric (i.e. “G5.4.1 “ – but without the quotes of course).

 

I thought adding a simple “-1” after the SEARCH would solve it, and it does except (and here’s the big problem) it treats BLANK returns as a ZERO, so in rows with a blank Defect1Code the SEARCH returns -1, which hoses up the LEFT function!

 

Am I missing a better solution?

1 ACCEPTED SOLUTION
AlB
Super User
Super User

Hi @Anonymous 

Column =
VAR pos_ =
    SEARCH ( " ", [Defect1Code],, BLANK () )
RETURN
    IF ( NOT ISBLANK ( pos_ ), LEFT ( [Defect1Code], pos_ - 1 ) )

 

Please mark the question solved when done and consider giving kudos if posts are helpful.

 

Contact me privately for support with any larger-scale BI needs, tutoring, etc.

 

Cheers 

 

SU18_powerbi_badge

View solution in original post

3 REPLIES 3
AlB
Super User
Super User

Hi @Anonymous 

Column =
VAR pos_ =
    SEARCH ( " ", [Defect1Code],, BLANK () )
RETURN
    IF ( NOT ISBLANK ( pos_ ), LEFT ( [Defect1Code], pos_ - 1 ) )

 

Please mark the question solved when done and consider giving kudos if posts are helpful.

 

Contact me privately for support with any larger-scale BI needs, tutoring, etc.

 

Cheers 

 

SU18_powerbi_badge

Anonymous
Not applicable

Awesome - THANKS!

 

I dint think DAX is the best option here. Power Query is built to do these types of things. You should consider cleaning the columns in PQ before you load the data so it works to your needs without using functions like LEFT and SEARCH 



* Matt is an 8 times Microsoft MVP (Power BI) and author of the Power BI Book Supercharge Power BI.

Helpful resources

Announcements
Sept PBI Carousel

Power BI Monthly Update - September 2024

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

September Hackathon Carousel

Microsoft Fabric & AI Learning Hackathon

Learn from experts, get hands-on experience, and win awesome prizes.

Sept NL Carousel

Fabric Community Update - September 2024

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