Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and a 50 percent discount on exams.
Get startedEarn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Hello, I am trying to write a simple DAX statement and it fails for some of the values (especially when the values start with a number)
TEST = IF (ISERROR(MID(column,1,2)+0),MID(column,1,1), MID(column,1,2))
Sample values, the above solution works for C1A1 however fails for 6A2 and 1A1
C1A1
6A2
1A1
C3F4
Am i missing something (or) is there a bug in ISError
Thanks,
Md
Is this what you were expecting?
Huh, look at that, 6A is .25... I don't think it is a bug in ISERROR, seems like something else? What are you trying to accomplish?
Thanks Greg for taking a look. Im trying to return the number before or after the alphabet. So my data can be like below so all i care about is the first 3 characters and if it has numbers return it
Input Output
23C1 23
2A2 2
A8C1 8
B91 91
BNC
CHK
This is the DAX code i have it works for everything excet for the 1A6 (or) 2A2 i.e when the number is preceded by the alphabet
TEST= IF (ISERROR(MID(column,1,2)+ 0),(IF (ISERROR(MID(column,1,1)+0), (IF (ISERROR(MID(column,2,2)+0), (IF (ISERROR(MID(column,2,1)+0),BLANK(),MID(column,2,1))), MID(column,2,2))), MID(column,1,1))) , MID(column,1,2))
What about this?
Column =
VAR __1 = IFERROR(LEFT([Input],1)+0,-1)
VAR __2 = IFERROR(MID([Input],2,1)+0,-1)
VAR __3 = IFERROR(MID([Input],3,1)+0,-1)
RETURN
SWITCH(
TRUE(),
__1 = -1 && __2 = -1 && __3 = -1,BLANK(),
__1 <> -1 && __2 <> -1 && __3 = -1,VALUE(__1 & __2),
__1 = -1 && __2 <> -1 && __3 = -1,__2,
__1 = -1 && __2 = -1 && __3 <> -1,__3,
__1 = -1 && __2 <> -1 && __3 <> -1,VALUE(__2 & __3),
__1
)
See attached PBIX.