# Beast Mode Calculation

Member
edited October 2021 in Charting

Hi Everyone,

Trying to come up with a beast mode calculation to calculate the percent difference between last weeks count and this weeks count.

This is the example of how the data would look:

Also I would like to know how to do a rolling 4 weeks count so an additional field with header 4 week count and then the percent difference between the four weeks count.

Let me know please and thanks!

• Coach

@Shumilex I would point you to this post by @GrantSmith that should do the trick for you. You would add an extra calculation to divide the current week number from the previous week.

https://dojo.domo.com/discussion/52679/domo-ideas-conference-beast-modes-rolling-averages#latest

**Check out my Domo Tips & Tricks Videos

**Make sure to any users posts that helped you.
• Coach
edited October 2021

I'd recommend utilize a custom date offset where you can compare one date to a different date. In your case you're just wanting to know the value from last week. I've done a write up / walk through of this methodology before. You can find more information here: https://dojo.domo.com/discussion/53481/a-more-flexible-way-to-do-period-over-period-comparisons#latest

You'd then just need to calculate your percentage difference:

```(SUM(CASE WHEN `Period Type` = 'Current' THEN `Value` END)
-
SUM(CASE WHEN `Period Type` = 'Last Week' THEN `Value` END))
/
WHEN `Period Type` = 'Last Week' THEN `Value` END)

```

**Did this solve your problem? Accept it as a solution!**
• Coach
edited October 2021

To address the 4 week rolling average you could utilize the LAG window function however you'd need to have 28 different LAG functions (I'm assuming your date has a day grain and not a week grain here. If you have it by week this becomes easier and you can refer to the post @MarkSnodgrass mentioned) called in your beast mode which is a bit much to write. What I might also recommend is to have a 2 weeks ago, 3 weeks ago and 4 weeks ago offset you define and then just tweak your PoP beast mode (this is assuming you want weeks 0-3 vs 1-4 if not you could apply the same method for weeks 5-8):

```(SUM(CASE WHEN `Period Type` IN ('Current', 'Last Week', '2 Weeks Ago', '3 Weeks Ago') THEN `Value` END)
-
SUM(CASE WHEN `Period Type` IN ('Last Week', '2 Weeks Ago', '3 Weeks Ago', '4 Weeks Ago') THEN `Value` END))
/
WHEN `Period Type` IN ('Last Week', '2 Weeks Ago', '3 Weeks Ago', '4 Weeks Ago') THEN `Value` END)

```