Join us for an expert-led overview of the tools and concepts you'll need to pass exam PL-300. The first session starts on June 11th. See you there!
Get registeredPower BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.
I have the following data transformation I need to make. The source data contains multiple zipcodes from multiple countries. In the case of PL (Poland), the source zip code has lots of issues. ie leading 0s and spaces in the middle of the zip code. I know how to clean this up based on multiple columns but I'd like to tidy up the code to something that can be done in one step. basically how do I nest all these transformations into one AddColumn? thanks.
Here are the steps I used to clean this data
Table.AddColumn(#"Changed Type", "Remove middle space", each Replacer.ReplaceText([Zipcode]," ",""))
Table.AddColumn(#"Added Custom", "Remove Leading 0s", each Text.TrimStart([Remove middle space],"0"))
Table.AddColumn(#"Added Custom1", "ZipCode Fixed", each if [Country] = "PL" then [Remove Leading 0s] else [Zipcode])
Solved! Go to Solution.
You can use this step instead.
= Table.AddColumn(#"Changed Type", "ZipcodeFixed", each if [Country] = "PL" then Text.TrimStart ( Replacer.ReplaceText([Zipcode]," ",""), "0") else [Zipcode])
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WCvBR0lEyMDBQcHRyVjAKsFSK1YlWcnEFCyr4BHsrGCnFxgIA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Country = _t, Zipcode = _t]),
#"One-Go" = Table.ReplaceValue(Source, each [Zipcode], each if [Country] = "PL" then Text.TrimStart(Text.Remove([Zipcode], " "), "0") else [Zipcode], Replacer.ReplaceValue, {"Zipcode"})
in
#"One-Go"
Thanks to the great efforts by MS engineers to simplify syntax of DAX! Most beginners are SUCCESSFULLY MISLED to think that they could easily master DAX; but it turns out that the intricacy of the most frequently used RANKX() is still way beyond their comprehension! |
DAX is simple, but NOT EASY! |
You can use this step instead.
= Table.AddColumn(#"Changed Type", "ZipcodeFixed", each if [Country] = "PL" then Text.TrimStart ( Replacer.ReplaceText([Zipcode]," ",""), "0") else [Zipcode])
Thank you very much, this is exactly what I was looking for. I wasn't sure how to nest the the replacer.replacetext inside the text.trimstart.
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
Check out the June 2025 Power BI update to learn about new features.
User | Count |
---|---|
15 | |
10 | |
10 | |
8 | |
7 |