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

Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Request now

Reply
Anonymous
Not applicable

DAX Extract Text Before Delimeter Error when Subtracting

L1 HOME PROJECT =
-- Example Project Code 1 12345.123.12.1000 Attempting to extracted 12345
-- Example Project Code 2 12346.123.12.1000 Attempting to extracted 123456
VAR Home_Poject =
RELATED ( EMP_LOOKUP[HomeProject] )
VAR L1_Home_First_Period =
SEARCH ( ".", Home_Poject, 1, BLANK() ) - 1 -- this is what is trying to be accomplished,
--find the first period and subtract one.
--However, it provides the following error...
--MID has the wrong data type or has an invalid value
// it will add but not subtract

VAR L1_Home_First_Period_not_Subtracted =
SEARCH ( ".", Home_Poject, 1, 0 ) --this works but brings in the period, 12345. 123456. Not sure how to reduce it by one

RETURN
MID(Home_Poject,1,L1_Home_First_Period_not_Subtracted)
-- L1_Home_First_Period_not_Subtracted - 1



Thank you in advance 
3 ACCEPTED SOLUTIONS
Greg_Deckler
Community Champion
Community Champion

@Anonymous Perhaps you need to check if it is blank or 0?



Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
DAX For Humans

DAX is easy, CALCULATE makes DAX hard...

View solution in original post

Arentir
Resolver III
Resolver III

You must have a value without any "." in it. Then SEARCH ( ".", Home_Poject, 1, BLANK() ) will return 0 and the negative value will throw the calculation off.

You can add an if statement to handle the 0, something like if search() = 0 then 0 else search()

View solution in original post

v-xiaotang
Community Support
Community Support

Hi @Anonymous 

you can try this measure

Measure = LEFT(SUBSTITUTE(MIN('Table'[Column1])," ","."),SEARCH(".",SUBSTITUTE(MIN('Table'[Column1])," ","."))-1)

result

vxiaotang_0-1629876778993.png

 

 

 

Best Regards,

Community Support Team _Tang

If this post helps, please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

3 REPLIES 3
v-xiaotang
Community Support
Community Support

Hi @Anonymous 

you can try this measure

Measure = LEFT(SUBSTITUTE(MIN('Table'[Column1])," ","."),SEARCH(".",SUBSTITUTE(MIN('Table'[Column1])," ","."))-1)

result

vxiaotang_0-1629876778993.png

 

 

 

Best Regards,

Community Support Team _Tang

If this post helps, please consider Accept it as the solution to help the other members find it more quickly.

Arentir
Resolver III
Resolver III

You must have a value without any "." in it. Then SEARCH ( ".", Home_Poject, 1, BLANK() ) will return 0 and the negative value will throw the calculation off.

You can add an if statement to handle the 0, something like if search() = 0 then 0 else search()

Greg_Deckler
Community Champion
Community Champion

@Anonymous Perhaps you need to check if it is blank or 0?



Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
DAX For Humans

DAX is easy, CALCULATE makes DAX hard...

Helpful resources

Announcements
November Power BI Update Carousel

Power BI Monthly Update - November 2025

Check out the November 2025 Power BI update to learn about new features.

Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Solution Authors
Top Kudoed Authors