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
- 10.5K All Categories
- 3 Connect
- 913 Connectors
- 250 Workbench
- 458 Transform
- 1.7K Magic ETL
- 69 SQL DataFlows
- 476 Datasets
- 183 Visualize
- 249 Beast Mode
- 2.1K Charting
- 11 Variables
- 16 Automate
- 354 APIs & Domo Developer
- 88 Apps
- 3 Workflows
- 20 Predict
- 5 Jupyter Workspaces
- 15 R & Python Tiles
- 245 Distribute
- 62 Domo Everywhere
- 242 Scheduled Reports
- 20 Manage
- 41 Governance & Security
- 168 Product Ideas
- 1.2K Ideas Exchange
- 9 Community Forums
- 27 Getting Started
- 14 Community Member Introductions
- 55 Community News
- 4.5K Archive