cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
DanBusIntel Member
Member

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.

1 ACCEPTED SOLUTION

Accepted Solutions
DanBusIntel Member
Member

Re: Power Query - how to handle Divide by 0?

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 1
DanBusIntel Member
Member

Re: Power Query - how to handle Divide by 0?

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.