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"3 
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.8K Product Ideas
 1.8K Ideas Exchange
 1.5K Connect
 1.2K Connectors
 299 Workbench
 6 Cloud Amplifier
 8 Federated
 2.9K Transform
 100 SQL DataFlows
 616 Datasets
 2.2K Magic ETL
 3.8K Visualize
 2.5K Charting
 729 Beast Mode
 54 App Studio
 40 Variables
 681 Automate
 175 Apps
 451 APIs & Domo Developer
 46 Workflows
 9 DomoAI
 34 Predict
 14 Jupyter Workspaces
 20 R & Python Tiles
 394 Distribute
 113 Domo Everywhere
 275 Scheduled Reports
 6 Software Integrations
 121 Manage
 118 Governance & Security
 Domo Community Gallery
 33 Product Releases
 10 Domo University
 5.4K Community Forums
 40 Getting Started
 30 Community Member Introductions
 108 Community Announcements
 4.8K Archive