Forum Discussion
Anonymous
1 year agoNot applicable
Get value from text after delimiter
Hi, I wanna extract first number 144272(after second -) and third number 19469(after fourth -). Desired output is 114272-19469 Delimiter structure will be same but number string length are dyna...
- 1 year ago
Hi Anonymous,
Here is the DAX measure I used, which produced the desired output. Please review the attached PBIX file for your reference.
ExtractedCode = VAR FullText = [Column1] VAR FirstSlash = SEARCH("/", FullText, 1) VAR SecondSlash = SEARCH("/", FullText, FirstSlash + 1) VAR ThirdSlash = SEARCH("/", FullText, SecondSlash + 1) VAR Text1 = MID(FullText, FirstSlash + 1, SecondSlash - FirstSlash - 1) VAR Text2 = MID(FullText, SecondSlash + 1, ThirdSlash - SecondSlash - 1) VAR Digits = "0123456789" VAR OnlyNums1 = CONCATENATEX( ADDCOLUMNS( GENERATESERIES(1, LEN(Text1)), "Char", MID(Text1, [Value], 1) ), IF(CONTAINSSTRING(Digits, [Char]), [Char], ""), "" ) VAR OnlyNums2 = CONCATENATEX( ADDCOLUMNS( GENERATESERIES(1, LEN(Text2)), "Char", MID(Text2, [Value], 1) ), IF(CONTAINSSTRING(Digits, [Char]), [Char], ""), "" ) RETURN OnlyNums1 & "-" & OnlyNums2If this post helps, then please consider Accept it as a solution to help the other members find it more quickly.
Thank you.
Jai-Rathinavel
Super User
1 year agoHi Anonymous Try the below M Query and see if it helps.
let
Source = Table.FromRows({{"PLMN-PLMN/MRBTS-144272/LNBTS-144272/LNCEL-19469/NBIOT_FDD-0"}}, {"Path"}),
// Split by "-"
SplitByDash = Table.AddColumn(Source, "Parts", each Text.Split([Path], "-")),
// Get 3rd and 7th elements
ExtractValues = Table.AddColumn(SplitByDash, "Result", each [Parts]{2} & "-" & [Parts]{6}),
Final = Table.SelectColumns(ExtractValues, {"Result"})
in
Final