Forum Discussion
extract text before delimiter
Hope someone can help me on this whether in Power Query or DAX.
My data is Title and ID columns.
1st scenario - I need to create a new column that extracts the data from TITLE field that does not ends with ":X"
The column no ":X" is the expected output
2nd scenario - I need to create a new column that extracts the data from TITLE field that does not ends with value corresponding to ID field. Delimiter is ":". Sample is 2nd row below ID field contains "1234" so I have to remove ":1234" from Title field.
Expected output columns are no ":X" and no ":[ID]"
| Title | ID | no ":X" | no ":[ID]" | |||
| Alabama:Montgomery:1234 | 1234 | Alabama:Montgomery:1234 | Alabama:Montgomery | |||
| Alaska:Juneau:X | Alaska:Juneau | Alaska:Juneau:X | ||||
| Arizona:Phoenix:X | Arizona:Phoenix | Arizona:Phoenix:X | ||||
| Arkansas:LittleRock:Test:X | Arkansas:LittleRock:Test | Arkansas:LittleRock:Test:X | ||||
| California:Sacramento:est:3854 | 3854 | California:Sacramento:est:3854 | California:Sacramento:est | |||
| Colorado:Denver:2021 | Colorado:Denver:2021 | Colorado:Denver:2021 | ||||
| Connecticut:X:Hartford:AAA | Connecticut:X:Hartford:AAA | Connecticut:X:Hartford:AAA | ||||
| Delaware:Dover:Type:7877 | 7877 | Delaware:Dover:Type:7877 | Delaware:Dover:Type |
For scenario 1, this formula works but it also extracts wherever my delimiter can be found. I only need to extract data if it ENDS with the delimiter
Eg. Connecticut:X:Hartford:AAA my formula does not work here because the output becomes Connecticut
Hi summer18
Try below DAX expressions ,
1.
no ":ID" = VAR TitleLength = LEN('Table'[Title])VAR IDLength = LEN('Table'[ID])VAR TitleWithoutID = IF(IDLength>0,SUBSTITUTE('Table'[Title], ":" & 'Table'[ID], ""),'Table'[Title])RETURNTitleWithoutID2.
no ":X" =VAR ColonPosition = FIND(":X", 'Table'[Title], 1, LEN('Table'[Title]))RETURN IF(ColonPosition = LEN('Table'[Title]) - 1,LEFT('Table'[Title], LEN('Table'[Title]) - 2),'Table'[Title])Don't forget to give thumbs up and accept this as a solution if it helped you!!!
Thank you,
pls code in power query
Based on your description, I created data to reproduce your scenario. The pbix file is attached in the end.
6 Replies
- Rohit11Resolver II
Hi summer18
Try below DAX expressions ,
1.
no ":ID" = VAR TitleLength = LEN('Table'[Title])VAR IDLength = LEN('Table'[ID])VAR TitleWithoutID = IF(IDLength>0,SUBSTITUTE('Table'[Title], ":" & 'Table'[ID], ""),'Table'[Title])RETURNTitleWithoutID2.
no ":X" =VAR ColonPosition = FIND(":X", 'Table'[Title], 1, LEN('Table'[Title]))RETURN IF(ColonPosition = LEN('Table'[Title]) - 1,LEFT('Table'[Title], LEN('Table'[Title]) - 2),'Table'[Title])Don't forget to give thumbs up and accept this as a solution if it helped you!!!
Thank you,
- AhmedxSuper User
pls code in power query
Based on your description, I created data to reproduce your scenario. The pbix file is attached in the end.