Forum Discussion
Replace N/A value with non-null value in same column
Hi
I am quite new to the power BI world and stuck with this issue.
So as shown in table below, I have few N/A values in 'City' column. I want to replace N/A with the value based on the customer column.
Like, if customer 'EFG' is shown Toronto in above or below cell than the 'N/A' could replaced with Toronto and in the case of customer 'ABC' N/A to be replaced with Vancouver.
TIA
- Anonymous4 years ago
Hi adni85 ,
Below is the full M syntax that you could paste in Advanced Editor:
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WcnRyVtJRMtQ31DcyMDICMsMS85LzS8tSi5RidaKVXN3cUaVD8ovy80rywZIRkVGokn6p5ZX5RdkoOo3gkvqOKBLG2IyEOccYXRfMLmNsdgWGu2LXBZMwgUk4pWZmZealK8XGAgA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Customer = _t, Dates = _t, City = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"Customer", type text}, {"Dates", type date}, {"City", type text}}), #"Replaced Value" = Table.ReplaceValue(#"Changed Type","N/A",null,Replacer.ReplaceValue,{"City"}), #"Sorted Rows" = Table.Sort(#"Replaced Value",{{"City", Order.Descending}}), #"Group" = Table.Group(#"Sorted Rows", {"Customer"}, {{"All_Rows", each Table.FillDown(_,{"City"}), type table}}), #"Expanded All_Rows" = Table.ExpandTableColumn(Group, "All_Rows", {"Dates", "City"}, {"Dates", "City"}), #"Changed Type1" = Table.TransformColumnTypes(#"Expanded All_Rows",{{"Dates", type date}}) in #"Changed Type1"Best Regards,
Eyelyn Qin
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
3 Replies
- AlexisOlsonSuper User
Is a Customer always associated with only a single City? If not, how do you choose which city to replace N/A with?
- adni85Frequent Visitor
Yes in this case customer is associated to one particular city.
- AnonymousNot applicable
Hi adni85 ,
Below is the full M syntax that you could paste in Advanced Editor:
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WcnRyVtJRMtQ31DcyMDICMsMS85LzS8tSi5RidaKVXN3cUaVD8ovy80rywZIRkVGokn6p5ZX5RdkoOo3gkvqOKBLG2IyEOccYXRfMLmNsdgWGu2LXBZMwgUk4pWZmZealK8XGAgA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Customer = _t, Dates = _t, City = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"Customer", type text}, {"Dates", type date}, {"City", type text}}), #"Replaced Value" = Table.ReplaceValue(#"Changed Type","N/A",null,Replacer.ReplaceValue,{"City"}), #"Sorted Rows" = Table.Sort(#"Replaced Value",{{"City", Order.Descending}}), #"Group" = Table.Group(#"Sorted Rows", {"Customer"}, {{"All_Rows", each Table.FillDown(_,{"City"}), type table}}), #"Expanded All_Rows" = Table.ExpandTableColumn(Group, "All_Rows", {"Dates", "City"}, {"Dates", "City"}), #"Changed Type1" = Table.TransformColumnTypes(#"Expanded All_Rows",{{"Dates", type date}}) in #"Changed Type1"Best Regards,
Eyelyn Qin
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.