Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!To celebrate FabCon Vienna, we are offering 50% off select exams. Ends October 3rd. Request your discount now.
= Table.AddColumn(Category, "PictureURL", each Text.Replace(Text.Select(Text.Replace(Text.Replace(Text.Replace(Text.Replace(Text.Lower(Text.Replace([Title]," ","-")),"--","-"),"š","s"),"č","c"),"ž","z"),{"A".."z","-","0".."9"}),"--","-")&"-"&Text.Lower([Category]))
Second problem: I want to replace all -- with --, all --- with -, etc so I had to inject -- to - replace two times.
Solved! Go to Solution.
Hello @Vampirtc
here a way to replace dynamically. Create a table with two column from and to
Maintain all your values there to be changed
Add a new column to your data where you are using List.Zip to combine this table and use List.Accumulate to apply all your changes. What I didn't do is to apply the Text.Select. However this table above you have to put also in the right order to solve you problem about the --, and - stuff.
Here the complete code
let
ChangeTable = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WOrxCSUcpVSlWJ1pJVxfI1NXVAXMObwNy8oESsQA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [From = _t, to = _t]),
YourTable = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WOryiOCUtJ+vwNl1dpVidaKWKCggzFgA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [YourText = _t]),
#"Added Custom" = Table.AddColumn(YourTable, "Custom", each let ChangeList = List.Zip({ChangeTable[From], ChangeTable[to]}),
ReplaceText = List.Accumulate(ChangeList, [YourText], (text,change)=> Text.Replace(text, change{0}, change{1}))
in
ReplaceText)
in
#"Added Custom"
and this is the output
Copy paste this code to the advanced editor in a new blank query to see how the solution works.
If this post helps or solves your problem, please mark it as solution (to help other users find useful content and to acknowledge the work of users that helped you)
Kudoes are nice too
Have fun
Jimmy
Hello @Vampirtc
here a way to replace dynamically. Create a table with two column from and to
Maintain all your values there to be changed
Add a new column to your data where you are using List.Zip to combine this table and use List.Accumulate to apply all your changes. What I didn't do is to apply the Text.Select. However this table above you have to put also in the right order to solve you problem about the --, and - stuff.
Here the complete code
let
ChangeTable = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WOrxCSUcpVSlWJ1pJVxfI1NXVAXMObwNy8oESsQA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [From = _t, to = _t]),
YourTable = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WOryiOCUtJ+vwNl1dpVidaKWKCggzFgA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [YourText = _t]),
#"Added Custom" = Table.AddColumn(YourTable, "Custom", each let ChangeList = List.Zip({ChangeTable[From], ChangeTable[to]}),
ReplaceText = List.Accumulate(ChangeList, [YourText], (text,change)=> Text.Replace(text, change{0}, change{1}))
in
ReplaceText)
in
#"Added Custom"
and this is the output
Copy paste this code to the advanced editor in a new blank query to see how the solution works.
If this post helps or solves your problem, please mark it as solution (to help other users find useful content and to acknowledge the work of users that helped you)
Kudoes are nice too
Have fun
Jimmy