Forum Discussion
Kana_K
3 years agoNew Member
If Statement - check if the table has a column
Hello, I am a beginner in power query and need help. I have a table that has 3 or 5 columns depending on the month. Columns 1-3 are always in the table. I would like to use the IF statement. ...
tackytechtom
3 years agoMost Valuable Professional
Hi Kana_K ,
Here a way of doing this:
Case A (including Column4):
Before:
After:
Case B (Without Column4):
Before:
After:
Here the code in Power Query M that you can paste into the advanced editor (if you do not know, how to exactly do this, please check out this quick walkthrough)
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WSkxKVtJRMjQyBpKJBQU5qSCegYGBUqxOtFJKahqQa2JqBiSTEvOAEMgwAsvGAgA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column1 = _t, Column2 = _t, Column3 = _t, Column4 = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}, {"Column2", Int64.Type}, {"Column3", type text}, {"Column4", Int64.Type}}),
#"Added Column" = if Table.HasColumns(#"Changed Type", "Column4") then Table.AddColumn(#"Changed Type", "NewColumn", each [Column2] + [Column4]) else Table.AddColumn(#"Changed Type", "NewColumn", each [Column2])
in
#"Added Column"
Having quickly compared your code with mine, I reckon the "else null" could have created the hickup. Otherwise, I think our code follows a very similar pattern (except that you do the number casting directly in the code, which actually makes more sense to me 🙂 )
Let me know if this helps!
/Tom
https://www.tackytech.blog/
https://www.instagram.com/tackytechtom/