How can i subtract current values from previous week values?
Hello,
I am trying to subtract current week values with previous week values and have the ability for this to update each week. How would I do this in Magic ETL? A lag function?
So 5-19 week would subtract from 5-12 week and then next week I would like to see 5-26 week subtract from 5-19.
Thanks,
Garrett
Best Answers
-
Assuming your data will always be grouped by week, you could use a lag function. You would use a Rank & Window tile to achieve this in ETL. One thing to keep in mind, is that lag will always go to the last value, so if you are missing data for a week, it would go back 2 weeks. If you want to avoid this, you will need to fill in your missing weeks by joining up a date dimension table.
Here is an example of how you could set it up.
Which yields the following
David Cunningham
** Was this post helpful? Click Agree 😀, Like 👍️, or Awesome ❤️ below **
** Did this solve your problem? Accept it as a solution! ✔️**1 -
@gbrown it looks like you have this set up to lag 300 rows. Is that what you want?
You can always test the output by running a preview in ETL, and then checking the output to see if it matches what your desired output is.
David Cunningham
** Was this post helpful? Click Agree 😀, Like 👍️, or Awesome ❤️ below **
** Did this solve your problem? Accept it as a solution! ✔️**0 -
I'd recommend restructuring your data with a custom date offset so you can easily calculate the prior week. I've done a write up on it here:
**Was this post helpful? Click Agree or Like below**
**Did this solve your problem? Accept it as a solution!**0
Answers
-
Assuming your data will always be grouped by week, you could use a lag function. You would use a Rank & Window tile to achieve this in ETL. One thing to keep in mind, is that lag will always go to the last value, so if you are missing data for a week, it would go back 2 weeks. If you want to avoid this, you will need to fill in your missing weeks by joining up a date dimension table.
Here is an example of how you could set it up.
Which yields the following
David Cunningham
** Was this post helpful? Click Agree 😀, Like 👍️, or Awesome ❤️ below **
** Did this solve your problem? Accept it as a solution! ✔️**1 -
Thanks. Is this how I would set up the lag function? @david_cunningham
0 -
@gbrown it looks like you have this set up to lag 300 rows. Is that what you want?
You can always test the output by running a preview in ETL, and then checking the output to see if it matches what your desired output is.
David Cunningham
** Was this post helpful? Click Agree 😀, Like 👍️, or Awesome ❤️ below **
** Did this solve your problem? Accept it as a solution! ✔️**0 -
I'd recommend restructuring your data with a custom date offset so you can easily calculate the prior week. I've done a write up on it here:
**Was this post helpful? Click Agree or Like below**
**Did this solve your problem? Accept it as a solution!**0
Categories
- All Categories
- 2K Product Ideas
- 2K Ideas Exchange
- 1.6K Connect
- 1.3K Connectors
- 311 Workbench
- 6 Cloud Amplifier
- 9 Federated
- 3.8K Transform
- 657 Datasets
- 115 SQL DataFlows
- 2.2K Magic ETL
- 815 Beast Mode
- 3.3K Visualize
- 2.5K Charting
- 81 App Studio
- 45 Variables
- 775 Automate
- 190 Apps
- 481 APIs & Domo Developer
- 81 Workflows
- 23 Code Engine
- 40 AI and Machine Learning
- 20 AI Chat
- 1 AI Playground
- 1 AI Projects and Models
- 18 Jupyter Workspaces
- 410 Distribute
- 120 Domo Everywhere
- 280 Scheduled Reports
- 10 Software Integrations
- 144 Manage
- 140 Governance & Security
- 8 Domo Community Gallery
- 48 Product Releases
- 12 Domo University
- 5.4K Community Forums
- 41 Getting Started
- 31 Community Member Introductions
- 114 Community Announcements
- 4.8K Archive