Sudden Beastmode error

Hi there!

 

I have a card, which uses a lot of beast mode calculations.

All of a sudden. I get this error: 

 

"You have a divide by zero error in your Card´s Beast Mode / Link: Get help in Domo´s Knowledge Base"

 

So, I checked everything and I was told that I needed a case function to avoid 0 division, also checked DOJO topics, which stated the same.

 

My problem is that:

 

  • I already use case functions to avoid problems like this one:

"(sum(case when `field1` is null then 0 else `field1` end)+

sum(case when `field2` is null then 0 else `field2` end))
/
(sum(case when `field3` is null then 0 else `field3` end)+
sum(case when `field4` is null then 0 else `field4` end))
-1"

 

  • My card is YTD, in my understanding it is simply not understandable that the card worked yesterday, but not today, because new data is only added.

Does someone experienced a related problem?

 

Many thanks

 

Best Answer

  • AS
    AS Coach
    Answer ✓

    Does your card have any granularity, like a table card with a dimension with lots of variety, where at least one of those combinations might have a divide by zero error? Like a new salesrep who doesn't have any sales yet and might not have the data used in the denominator.

     

    I fixed a card like this for us yesterday with that same error, with logic somewhat like this :

    CASE

    WHEN 

    ifnull((sum(case when `field3` is null then 0 else `field3` end)+
    sum(case when `field4` is null then 0 else `field4` end)),0) = 0

    THEN 0

    ELSE

    "(sum(case when `field1` is null then 0 else `field1` end)+

    sum(case when `field2` is null then 0 else `field2` end))
    /
    (sum(case when `field3` is null then 0 else `field3` end)+
    sum(case when `field4` is null then 0 else `field4` end))
    -1"

    END

     

    If the denominator is zero or null, then return zero instead of dividing by null or zero.

     

    Beast modes with case statements having aggregations can be a tricky thing, so YMMV.

    Aaron
    MajorDomo @ Merit Medical

    **Say "Thanks" by clicking the heart in the post that helped you.
    **Please mark the post that solves your problem by clicking on "Accept as Solution"

Answers

  • AS
    AS Coach
    Answer ✓

    Does your card have any granularity, like a table card with a dimension with lots of variety, where at least one of those combinations might have a divide by zero error? Like a new salesrep who doesn't have any sales yet and might not have the data used in the denominator.

     

    I fixed a card like this for us yesterday with that same error, with logic somewhat like this :

    CASE

    WHEN 

    ifnull((sum(case when `field3` is null then 0 else `field3` end)+
    sum(case when `field4` is null then 0 else `field4` end)),0) = 0

    THEN 0

    ELSE

    "(sum(case when `field1` is null then 0 else `field1` end)+

    sum(case when `field2` is null then 0 else `field2` end))
    /
    (sum(case when `field3` is null then 0 else `field3` end)+
    sum(case when `field4` is null then 0 else `field4` end))
    -1"

    END

     

    If the denominator is zero or null, then return zero instead of dividing by null or zero.

     

    Beast modes with case statements having aggregations can be a tricky thing, so YMMV.

    Aaron
    MajorDomo @ Merit Medical

    **Say "Thanks" by clicking the heart in the post that helped you.
    **Please mark the post that solves your problem by clicking on "Accept as Solution"
  • Hi, thanks for you help!

     

    You were right, one field was the trouble maker.