Need help to show total of last 18 months for each month for last 12 months

Hi Experts,
I need to display a chart for the total number of patients for the last 18 months for each month for the last 12 months. I need help in figuring out this visualization through beast mode since I do not where to start.
I am new to domo and beast modes and will appreciate you all helping me out here.
Thank you :)
Vy
Answers
-
Hi @user012068
What format is your data in? Is it already aggregated on a monthly basis or is it daily?
You'll want to make sure your data is aggregated on a monthly basis and you can then utilize the LAG window function to pull the values for the past 18 months for each month.
LAG(SUM(`patient_count`), 0) OVER (PARTITION BY YEAR(`Date`), MONTH(`Date`) ORDER BY YEAR(`Date`), MONTH(`Date`)) + LAG(SUM(`patient_count`), 1) OVER (PARTITION BY YEAR(`Date`), MONTH(`Date`) ORDER BY YEAR(`Date`), MONTH(`Date`)) + LAG(SUM(`patient_count`), 2) OVER (PARTITION BY YEAR(`Date`), MONTH(`Date`) ORDER BY YEAR(`Date`), MONTH(`Date`)) + LAG(SUM(`patient_count`), 3) OVER (PARTITION BY YEAR(`Date`), MONTH(`Date`) ORDER BY YEAR(`Date`), MONTH(`Date`)) + LAG(SUM(`patient_count`), 4) OVER (PARTITION BY YEAR(`Date`), MONTH(`Date`) ORDER BY YEAR(`Date`), MONTH(`Date`)) + LAG(SUM(`patient_count`), 5) OVER (PARTITION BY YEAR(`Date`), MONTH(`Date`) ORDER BY YEAR(`Date`), MONTH(`Date`)) + LAG(SUM(`patient_count`), 6) OVER (PARTITION BY YEAR(`Date`), MONTH(`Date`) ORDER BY YEAR(`Date`), MONTH(`Date`)) + LAG(SUM(`patient_count`), 7) OVER (PARTITION BY YEAR(`Date`), MONTH(`Date`) ORDER BY YEAR(`Date`), MONTH(`Date`)) + LAG(SUM(`patient_count`), 8) OVER (PARTITION BY YEAR(`Date`), MONTH(`Date`) ORDER BY YEAR(`Date`), MONTH(`Date`)) + LAG(SUM(`patient_count`), 9) OVER (PARTITION BY YEAR(`Date`), MONTH(`Date`) ORDER BY YEAR(`Date`), MONTH(`Date`)) + LAG(SUM(`patient_count`), 10) OVER (PARTITION BY YEAR(`Date`), MONTH(`Date`) ORDER BY YEAR(`Date`), MONTH(`Date`)) + LAG(SUM(`patient_count`), 11) OVER (PARTITION BY YEAR(`Date`), MONTH(`Date`) ORDER BY YEAR(`Date`), MONTH(`Date`)) + LAG(SUM(`patient_count`), 12) OVER (PARTITION BY YEAR(`Date`), MONTH(`Date`) ORDER BY YEAR(`Date`), MONTH(`Date`)) + LAG(SUM(`patient_count`), 13) OVER (PARTITION BY YEAR(`Date`), MONTH(`Date`) ORDER BY YEAR(`Date`), MONTH(`Date`)) + LAG(SUM(`patient_count`), 14) OVER (PARTITION BY YEAR(`Date`), MONTH(`Date`) ORDER BY YEAR(`Date`), MONTH(`Date`)) + LAG(SUM(`patient_count`), 15) OVER (PARTITION BY YEAR(`Date`), MONTH(`Date`) ORDER BY YEAR(`Date`), MONTH(`Date`)) + LAG(SUM(`patient_count`), 16) OVER (PARTITION BY YEAR(`Date`), MONTH(`Date`) ORDER BY YEAR(`Date`), MONTH(`Date`)) + LAG(SUM(`patient_count`), 17) OVER (PARTITION BY YEAR(`Date`), MONTH(`Date`) ORDER BY YEAR(`Date`), MONTH(`Date`))
Window functions is a feature switch and you'll need to talk with your CSM to get it enabled. I've done a writeup previously about lag window functions here: Domo IDEAs Conference - Beast Modes - Rolling Averages
Alternatively you could do this in a Magic ETL with a Rank & Window tile to simplify the card.
**Was this post helpful? Click Agree or Like below**
**Did this solve your problem? Accept it as a solution!**1 -
If your dataset is showing totals for each day, you can do this in Magic ETL with just a few tiles. It would look something like this:
Use the formula tile to create a year column and month column
Use the group by tile to get totals for each month:
Use the Rank & Window tile create an 18-month total calculation by using the SUM and 18 preceding and sorting by year and month
This should get you what you want.
**Check out my Domo Tips & Tricks Videos
**Make sure toany users posts that helped you.
**Please mark as accepted the ones who solved your issue.1
Categories
- All Categories
- 1.9K Product Ideas
- 1.9K Ideas Exchange
- 1.6K Connect
- 1.3K Connectors
- 305 Workbench
- 6 Cloud Amplifier
- 9 Federated
- 3K Transform
- 106 SQL DataFlows
- 646 Datasets
- 2.2K Magic ETL
- 4K Visualize
- 2.5K Charting
- 774 Beast Mode
- 75 App Studio
- 43 Variables
- 728 Automate
- 186 Apps
- 467 APIs & Domo Developer
- 61 Workflows
- 14 DomoAI
- 40 Predict
- 17 Jupyter Workspaces
- 23 R & Python Tiles
- 403 Distribute
- 117 Domo Everywhere
- 277 Scheduled Reports
- 9 Software Integrations
- 136 Manage
- 133 Governance & Security
- 8 Domo Community Gallery
- 44 Product Releases
- 12 Domo University
- 5.4K Community Forums
- 40 Getting Started
- 30 Community Member Introductions
- 112 Community Announcements
- 4.8K Archive