Forum Discussion
FrankWoody
4 years agoHelper I
DAX CHALLENGE COLLUM
| TEXT | RESULT |
| TICKET 3-XI-7-KO | XI-7 |
| TICKET 7-XI-10-EBG | XI-10 |
| TICKET 7-XI-11D-KO | XI-11D |
| TICKET 4-XI-12-ERL | XI-12 |
| TICKET IC-1- | IC-1 |
| TICKET IC-6 | IC-6 |
| TICKET 7-EU-226-SW | EU-226 |
| TICKET 7-FLK-86IN-GU | FLK-86IN |
| Glove | Glove |
| CHIEN | CHIEN |
| KLOW | KLOW |
| HH | HH |
I'm trying to create a column to get the result by extracting information from the TEXT column.
But it's not returning exactly what I need:
NEW =
VAR _Len =
LEN (Sheet1[TEXT])
VAR _Dash_No =
_Len - LEN ( SUBSTITUTE ( Sheet1[TEXT], "-", "" ) )
VAR _C =
IF ( LEFT ( RIGHT ( Sheet1[TEXT], 4 ), 1 ) = "-", 4, 3 )
VAR _K =
IF ( _Dash_No > 2, RIGHT ( Sheet1[TEXT], _Len - 2 ), Sheet1[TEXT] )
VAR _Re =
IF ( _Dash_No > 2, LEFT ( _K, LEN ( _K ) - _C ), LEFT ( Sheet1[TEXT], 6 ) )
VAR DO=
SWITCH(
TRUE(),
CONTAINSSTRING(Sheet1[TEXT],"TICKET"),_Re,
Sheet1[TEXT]
)
RETURN
DO
Hi FrankWoody
Here is a sample file with the solution https://www.dropbox.com/t/TTpa5YQromfNolr1RESULT1 = VAR TextValue = Sheet1[TEXT] VAR Length = LEN ( TextValue ) VAR T1 = GENERATESERIES ( 1, Length, 1 ) VAR T2 = ADDCOLUMNS ( T1, "@Letter1", MID ( TextValue, [Value], 1 ) ) VAR T3 = ADDCOLUMNS ( T2, "@Letter2", IF ( [@Letter1] = " " || [@Letter1] = "-", "|", [@Letter1] ) ) VAR NewText = CONCATENATEX ( T3, [@Letter2] ) VAR NumOfWords = PATHLENGTH ( NewText ) RETURN SWITCH ( TRUE ( ), NumOfWords = 5, PATHITEM ( NewText, 3 ) & "-" & PATHITEM ( NewText, 4 ), NumOfWords = 4 || NumOfWords = 3 || NumOfWords = 2, PATHITEM ( NewText, 2 ) & "-" & PATHITEM ( NewText, 3 ), TextValue )
1 Reply
- tamerj1Community Champion
Hi FrankWoody
Here is a sample file with the solution https://www.dropbox.com/t/TTpa5YQromfNolr1RESULT1 = VAR TextValue = Sheet1[TEXT] VAR Length = LEN ( TextValue ) VAR T1 = GENERATESERIES ( 1, Length, 1 ) VAR T2 = ADDCOLUMNS ( T1, "@Letter1", MID ( TextValue, [Value], 1 ) ) VAR T3 = ADDCOLUMNS ( T2, "@Letter2", IF ( [@Letter1] = " " || [@Letter1] = "-", "|", [@Letter1] ) ) VAR NewText = CONCATENATEX ( T3, [@Letter2] ) VAR NumOfWords = PATHLENGTH ( NewText ) RETURN SWITCH ( TRUE ( ), NumOfWords = 5, PATHITEM ( NewText, 3 ) & "-" & PATHITEM ( NewText, 4 ), NumOfWords = 4 || NumOfWords = 3 || NumOfWords = 2, PATHITEM ( NewText, 2 ) & "-" & PATHITEM ( NewText, 3 ), TextValue )