Beast Mode Not Working when a Value is ZERO

Options

I have a Beast Mode that is not Calculating when one of the Values is ZERO.

In this example Projected Cost Should be 21,192 based on the Beast Mode Equation but instead is returning a ZERO Value.

BEAST MODE BELOW

/Projected Actual Cost is equal to the Greater of Revised Estimated Cost or Job To Date Cost/

CASE WHEN SUM(MAX(IFNULL(RevisedEstimatedCost,0)) FIXED (BY job4, CostTypeWK,CostCode_WK, VendorNo)) >= SUM(case when SourceCode != 'CO' then TransactionAmt end)

THEN SUM(MAX(IFNULL(`RevisedEstimatedCost`,0)) FIXED (BY `job4`, `CostTypeWK`,`CostCode_WK`, 
`VendorNo`))

ELSE SUM(IFNULL(case when `SourceCode` != 'CO' then `TransactionAmt` end,0))

END

Answers

  • MichelleH
    Options

    @jtrollinger Is SourceCode = CO in the rows in question? It likely has to do with your last IFNULL forcing the output to zero

  • Try breaking down your problem into smaller portions to see where it's failing, create 2 separate beast modes and display them in your table, one for the portion that the FIXED function is calculated, and another for the other one and see if each one is returning what you expect or not.

    SUM(MAX(IFNULL(RevisedEstimatedCost,0)) FIXED (BY job4, CostTypeWK,CostCode_WK, VendorNo))
    

    and

    SUM(IFNULL(case when `SourceCode` != 'CO' then `TransactionAmt` end,0))
    

    If both of them are working, I do see that in your CASE statement, the logic comparison does not wraps the second part with IFNULL. It is odd that you'll need to have a fixed function for one of the elements to compare while the other is just a standard aggregation one, but it all depends on what your data structure looks like.

  • jtrollinger
    Options

    I figured it out. the IFNULL is required for the formula to work I just forgot to put it on

    SUM(case when SourceCode != 'CO' then TransactionAmt end)

    in the first part of the equation.