Microsoft Fabric Community Conference 2025, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount.
Register nowThe Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.
I have a column like below:
ID |
John: 0001 |
0002 |
0004 |
Tim: 0005 |
I would like remove the text before the delimiter ":" only for the rows that have the delimiter. I am having a bit of trouble figuring this out. The final output should be like below:
ID |
0001 |
0002 |
0004 |
0005 |
Solved! Go to Solution.
Hi @allora,
How about this?
Here the code for the calculated column:
if Text.Contains ( [ID], ":" ) then Text.TrimStart ( Text.AfterDelimiter([ID], ":") ) else [ID]
And here the complete M code:
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45W8srPyLNSMDAwMFSK1YlWAjKMYAwTMCMkMxcsb6oUGwsA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [ID = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"ID", type text}}), #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each if Text.Contains ( [ID], ":" ) then Text.TrimStart ( Text.AfterDelimiter([ID], ":") ) else [ID]) in #"Added Custom"
I understood your query that you actually don't want a new column but instead you'd like to replace the values. I recommend you this blog post here:
https://www.tackytech.blog/how-to-swiftly-take-over-power-query/#7_Replace_values_in_column
It explains how you can use the code from the new calculated column in order to replace the values (instead of adding a new one)
Let me know if this helps 🙂
/Tom
https://www.tackytech.blog/
https://www.instagram.com/tackytechtom/
Did I answer your question❓➡️ Please, mark my post as a solution ✔️ |
Also happily accepting Kudos 🙂 |
Feel free to connect with me on LinkedIn! | |
#proudtobeasuperuser | |
Hi @allora,
How about this?
Here the code for the calculated column:
if Text.Contains ( [ID], ":" ) then Text.TrimStart ( Text.AfterDelimiter([ID], ":") ) else [ID]
And here the complete M code:
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45W8srPyLNSMDAwMFSK1YlWAjKMYAwTMCMkMxcsb6oUGwsA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [ID = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"ID", type text}}), #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each if Text.Contains ( [ID], ":" ) then Text.TrimStart ( Text.AfterDelimiter([ID], ":") ) else [ID]) in #"Added Custom"
I understood your query that you actually don't want a new column but instead you'd like to replace the values. I recommend you this blog post here:
https://www.tackytech.blog/how-to-swiftly-take-over-power-query/#7_Replace_values_in_column
It explains how you can use the code from the new calculated column in order to replace the values (instead of adding a new one)
Let me know if this helps 🙂
/Tom
https://www.tackytech.blog/
https://www.instagram.com/tackytechtom/
Did I answer your question❓➡️ Please, mark my post as a solution ✔️ |
Also happily accepting Kudos 🙂 |
Feel free to connect with me on LinkedIn! | |
#proudtobeasuperuser | |
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
If you love stickers, then you will definitely want to check out our Community Sticker Challenge!
User | Count |
---|---|
49 | |
28 | |
20 | |
20 | |
19 |
User | Count |
---|---|
52 | |
51 | |
26 | |
26 | |
22 |