Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
Sign up nowGet Fabric certified for FREE! Don't miss your chance! Learn more
HI all,
I have seen a lot of answers for similar issue but nothing like I am expecting.
I have a URL and I need to decipher data from that url.
Here is the search part of a sample of the url.
searchType=Wheels&years=1985&makes=1985_Chevrolet&model=1985_Chevrolet_Camaro&submodel=1985_Chevrolet_Camaro_Berlinetta
I want to create one column for the Search Type, one columns for years.....
Is there a way to split this easily like a function that you would pass the url and the argument that would return the value??
ex : geturlvalue (url, 'SearchType') returning 'Wheels'
Just a thought. either in M or Dax.
F
Solved! Go to Solution.
Hi @francoisl ,
You can try using following custom function code on 'query edit' side to look up specific text:
let
LookupValue=(sample as text,search as text) =>
let
Source= List.Transform(Text.Split(sample,"&"), each [Key = Text.Split(_,"="){0}, Value = Text.Split(_,"="){1}]),
Result= List.Transform(List.Select(Source, each Record.Field(_,"Key")=search), each Record.Field(_,"Value")){0}
in
Result
in
LookupValue
Notice: If your result contains multiple results, please remove the bold part {0} to get full search result list.
Regards,
Xiaoxin Sheng
Hi @francoisl ,
You can try using following custom function code on 'query edit' side to look up specific text:
let
LookupValue=(sample as text,search as text) =>
let
Source= List.Transform(Text.Split(sample,"&"), each [Key = Text.Split(_,"="){0}, Value = Text.Split(_,"="){1}]),
Result= List.Transform(List.Select(Source, each Record.Field(_,"Key")=search), each Record.Field(_,"Value")){0}
in
Result
in
LookupValue
Notice: If your result contains multiple results, please remove the bold part {0} to get full search result list.
Regards,
Xiaoxin Sheng
Hi,
Excellent solution, I think you need a different mindset to chop down text like this.
In fact, both solutions were good but M is better than DAX since I merged data from different sources.
Many thanks
Francois
Hi,
Check if this solution for a calculated column (Model example) will help you:
Model =
Var ParameterFind = "model" & "="
Var StartPosition = FIND(ParameterFind,'Table'[URL]) + +LEN(ParameterFind)
Var NumberCharacteres = FIND("&",'Table'[URL],StartPosition,LEN('Table'[URL])+1) - StartPosition
RETURN
MID('Table'[URL], StartPosition, NumberCharacteres)
If it helps, pls mark this post as a solution and give a kudo. Thanks
Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
| User | Count |
|---|---|
| 57 | |
| 53 | |
| 42 | |
| 18 | |
| 14 |
| User | Count |
|---|---|
| 111 | |
| 104 | |
| 36 | |
| 28 | |
| 27 |