Period Over Period Calculation Challenges
I am trying to calculate the difference between periods for a specific metric and am running into some trouble. (As you can see from the screenshot below, the Beast Mode calculation I am using doesn't seem to be working.)
To generate the column totals, I am using this beast mode successfully for each desired date comparison: (example for current below)
CASE when `Period Type`='Current' then `Shipped CoGS`end
However, when trying to calculate the difference between these periods, the formula is validated but doesn't work:
((CASE when `Period Type`='Current' then `Shipped CoGS`end)  (CASE when `Period Type`= 'Last Month' then `Shipped CoGS` end)) / (CASE when `Period Type`='Last Month' then `Shipped CoGS`end)
What am I missing?
Comments

@RocketMichael Is your dataset organized at day grain like your table? Or are you doing the aggregation in your card? If it's in your card, you're going to need to throw SUM around all your case when statements:
(SUM(CASE when `Period Type`='Current' then `Shipped CoGS`end)  SUM(CASE when `Period Type`= 'Last Month' then `Shipped CoGS` end)) / SUM(CASE when `Period Type`='Last Month' then `Shipped CoGS`end)
**Was this post helpful? Click Agree or Like below**
**Did this solve your problem? Accept it as a solution!**
3 
( (CASE when `Period Type`='Current' then `Shipped CoGS`end)  (CASE when `Period Type`= 'Last Month' then `Shipped CoGS` end) ) / (CASE when `Period Type`='Last Month' then `Shipped CoGS`end)
you are calculating your beast mode at the row level. in other words, take one row in isolation and then apply your beast mode to it.
you Period Type for one row cannot be both 'Current' AND 'Last Month' at the same time. therefore it is IMPOSSIBLE for one row to return a result.
you have to apply your beast mode to an aggregate (which is exactly what @RobSomers ) is demonstrating.
( SUM(CASE when `Period Type`='Current' then `Shipped CoGS`end)  SUM(CASE when `Period Type`= 'Last Month' then `Shipped CoGS` end) ) / SUM(CASE when `Period Type`='Last Month' then `Shipped CoGS`end)
"across all rows take the sum of shipped cogs when period type is current."
"across all rows take the sum of shipped cogs when period type is last month" etc.
Jae Wilson
Check out my 🎥 Domo Training YouTube Channel 👨💻
**Say "Thanks" by clicking the ❤️ in the post that helped you.
**Please mark the post that solves your problem by clicking on "Accept as Solution"2 
That did it @RobSomers ! Thank you for your help on this. 😀
0 
Thank you @jaeW_at_Onyx for breaking that down for me!
0
Categories
 All Categories
 1.2K Product Ideas
 1.2K Ideas Exchange
 1.3K Connect
 1.1K Connectors
 273 Workbench
 2 Cloud Amplifier
 3 Federated
 2.7K Transform
 78 SQL DataFlows
 525 Datasets
 2.1K Magic ETL
 2.9K Visualize
 2.2K Charting
 434 Beast Mode
 22 Variables
 511 Automate
 114 Apps
 389 APIs & Domo Developer
 8 Workflows
 26 Predict
 10 Jupyter Workspaces
 16 R & Python Tiles
 332 Distribute
 77 Domo Everywhere
 255 Scheduled Reports
 66 Manage
 66 Governance & Security
 1 Product Release Questions
 Community Forums
 40 Getting Started
 26 Community Member Introductions
 68 Community Announcements
 4.8K Archive