Forum Discussion
Combining results from different columns
Hi I am looking for some help, I am trying to create a new column that will combine the data in columns Data 1 and Data 2 and if one is blank it will return the value of the other and if both cells are blank it will return the value in Data 3. First I tried to combine the columns Data 1 and Data 2 and then do another column to look up to data 3 if the combined columns had a blank value but the combined column only returned a value when there was a value in both the data 1 and 2. I also tried to create a custom column using if [Data 1] <> null && [Data B] <> null then [Data 1] & [Data 2] else if [Data 1] <> null then [Data 1] else [Data2] but again I haven’t got it quite right and it only displays the values if there is something in both columns. I am wondering if there is a way to do this in just one column? I have included a table that shows what I want it to return from the three columns
Change address to document
let Source = Excel.Workbook(File.Contents("C:\Downloads\sample data (1).xlsx"), true, true), #"Completed 2024!_xlnm _FilterDatabase_DefinedName" = Source{[Item="Completed 2024!_xlnm._FilterDatabase",Kind="DefinedName"]}[Data], #"Changed Type" = Table.TransformColumnTypes(#"Completed 2024!_xlnm _FilterDatabase_DefinedName",{{"sort code", Int64.Type}, {"Account number", Int64.Type}, {"If not 12345", Int64.Type}}), #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each if [If not 12345] <> null then Text.From([If not 12345]) else Text.Combine({Text.From([sort code]), Text.From([Account number])}, " "), type text) in #"Added Custom"
7 Replies
- dufoq3Community Champion
Hi Belle2024, check this.
Result
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WUtIBISMgUIrViVYysTC3gAhBuGamRkC2oaWlCUwISJuYWZjCNcUCAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Data 1" = _t, #"Data 2" = _t, #"Data 3" = _t]), ReplaceWithNull = Table.TransformColumns(Source, {}, each if List.Contains({null, "null", ""}, Text.Trim(_)) then null else _), Ad_Combined = Table.AddColumn(ReplaceWithNull, "Combined", each [ a = Text.Combine({[Data 1], [Data 2]}, " "), b = if a <> "" then a else [Data 3] ][b], type text) in Ad_Combined- Belle2024Helper I
I can't get this to work for me, I may not be advanced enough for this! 😂
I was hoping to be able to do a custom column at the end of my existing data that will update each time I refresh my data which is updated daily.
- dufoq3Community Champion
You should read note at the bottom of my post if you don't know how to use my query.
But you can also add this as custom column. (Edit column names [Data 1], [Data 2] and [Data 3] if necessary)
[ a = Text.Combine({[Data 1], [Data 2]}, " "), b = if a <> "" then a else [Data 3] ][b]