GROUP BY

Anyone knows of a way to GROUP BY in Beast Mode Editor?

we can do PARTITIONING but somehow, we can't do GROUP BY?

For example:

case when 'location'='ATL' then sum((amount)*10) else sum(amount) over (partition by 'Location') end

the above works perfect

BUT below doesn't. what am I doing wrong here?

case when 'location'='ATL' then sum((amount)*10) else sum(amount) group by 'Location' end

Best Answer

  • MichelleH
    MichelleH Coach
    Answer ✓

    @carthur You don't actually need a GROUP BY clause in beast mode the same way that you would in SQL because your beast mode should group by whatever dimension is used in your card. If I'm interpreting your examples correctly, you are trying to sum the amount column for all locations and multiply the amount for ATL by 10. In that case your beast mode should looks like this:

    sum(case when `location` = 'ATL' then `amount` * 10 else `amount` end)
    

    In general, it's better to put case statements inside aggregate functions instead of the other way around since that often results in granularity issues.

Answers

  • MichelleH
    MichelleH Coach
    Answer ✓

    @carthur You don't actually need a GROUP BY clause in beast mode the same way that you would in SQL because your beast mode should group by whatever dimension is used in your card. If I'm interpreting your examples correctly, you are trying to sum the amount column for all locations and multiply the amount for ATL by 10. In that case your beast mode should looks like this:

    sum(case when `location` = 'ATL' then `amount` * 10 else `amount` end)
    

    In general, it's better to put case statements inside aggregate functions instead of the other way around since that often results in granularity issues.

  • carthur
    carthur Member
    edited September 2023

    @MichelleH Thank for the reply. That example was just something quickly put together.

    I am working with a more complicated equation which involves nested case statements and varaible selections. would that same concept apply?

    The actual idea I am working on, but I get that granularity issue.

  • @carthur Yes, you can use as many conditions (including variable selections) as you need into that case statement by using additional WHEN… THEN clauses

  • @MichelleH thanks but I forgot to add the concept on my previous reply.

  • Thank you soo much