Forum Discussion
Power Query - how to handle Divide by 0?
Hi,
I have some Power Query code that is returning either NaN or Infinity values. I believe this to be a Divide by 0 issue.
How would I handle a divide by 0 in the below line of Power Query code:
#"Grouped Rows" = Table.Group( #"Filtered Rows", {"Division"}, {{"All", each _, type table}}),
#"Added Custom" = Table.AddColumn( #"Grouped Rows", "DEValue", each [All]{[Grouping_Level="Gross Profit"]}[DEValue] / [All]{[Grouping_Level="Sales"]}[DEValue]),
#"Added Custom1" = Table.AddColumn( #"Added Custom", "DETarget", each [All]{[Grouping_Level="Gross Profit"]}[DETarget] / [All]{[Grouping_Level="Sales"]}[DETarget]),
#"Added Custom2" = Table.AddColumn( #"Added Custom1", "MTDValue", each [All]{[Grouping_Level="Gross Profit"]}[MTDValue] / [All]{[Grouping_Level="Sales"]}[MTDValue]),
#"Added Custom3" = Table.AddColumn( #"Added Custom2", "MTDTarget", each [All]{[Grouping_Level="Gross Profit"]}[MTDTarget] / [All]{[Grouping_Level="Sales"]}[MTDTarget]),
#"Added Custom4" = Table.AddColumn( #"Added Custom3", "Grouping_Level", each "**bleep**M"),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom4", {"All"}),
Thanks.
- Anonymous7 years ago
I've worked it out:
#"Grouped Rows" = Table.Group( #"Filtered Rows", {"Division"}, {{"All", each _, type table}}),
#"Added Custom" = Table.AddColumn( #"Grouped Rows", "DEValue", each if [All]{[Grouping_Level="Sales"]}[DEValue] = 0 then 0 else [All]{[Grouping_Level="Gross Profit"]}[DEValue] / [All]{[Grouping_Level="Sales"]}[DEValue]),
#"Added Custom1" = Table.AddColumn( #"Added Custom", "DETarget", each if [All]{[Grouping_Level="Sales"]}[DETarget] = 0 then 0 else [All]{[Grouping_Level="Gross Profit"]}[DETarget] / [All]{[Grouping_Level="Sales"]}[DETarget]),
#"Added Custom2" = Table.AddColumn( #"Added Custom1", "MTDValue", each if [All]{[Grouping_Level="Sales"]}[MTDValue] = 0 then 0 else [All]{[Grouping_Level="Gross Profit"]}[MTDValue] / [All]{[Grouping_Level="Sales"]}[MTDValue]),
#"Added Custom3" = Table.AddColumn( #"Added Custom2", "MTDTarget", each if [All]{[Grouping_Level="Sales"]}[MTDTarget] = 0 then 0 else [All]{[Grouping_Level="Gross Profit"]}[MTDTarget] / [All]{[Grouping_Level="Sales"]}[MTDTarget]),
#"Added Custom4" = Table.AddColumn( #"Added Custom3", "Grouping_Level", each "**bleep**M"),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom4", {"All"}),Just needed a little trial and error in the positioning of the added.
1 Reply
- AnonymousNot applicable
I've worked it out:
#"Grouped Rows" = Table.Group( #"Filtered Rows", {"Division"}, {{"All", each _, type table}}),
#"Added Custom" = Table.AddColumn( #"Grouped Rows", "DEValue", each if [All]{[Grouping_Level="Sales"]}[DEValue] = 0 then 0 else [All]{[Grouping_Level="Gross Profit"]}[DEValue] / [All]{[Grouping_Level="Sales"]}[DEValue]),
#"Added Custom1" = Table.AddColumn( #"Added Custom", "DETarget", each if [All]{[Grouping_Level="Sales"]}[DETarget] = 0 then 0 else [All]{[Grouping_Level="Gross Profit"]}[DETarget] / [All]{[Grouping_Level="Sales"]}[DETarget]),
#"Added Custom2" = Table.AddColumn( #"Added Custom1", "MTDValue", each if [All]{[Grouping_Level="Sales"]}[MTDValue] = 0 then 0 else [All]{[Grouping_Level="Gross Profit"]}[MTDValue] / [All]{[Grouping_Level="Sales"]}[MTDValue]),
#"Added Custom3" = Table.AddColumn( #"Added Custom2", "MTDTarget", each if [All]{[Grouping_Level="Sales"]}[MTDTarget] = 0 then 0 else [All]{[Grouping_Level="Gross Profit"]}[MTDTarget] / [All]{[Grouping_Level="Sales"]}[MTDTarget]),
#"Added Custom4" = Table.AddColumn( #"Added Custom3", "Grouping_Level", each "**bleep**M"),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom4", {"All"}),Just needed a little trial and error in the positioning of the added.