ETL: Calcs based on date ranges

I am using Magic ETL to load data. My data has columns for customer, month, product and revenue. I have created calculated columns in the ETL for the customers start month. I am trying to create a column that calculates the maximum monthly revenue for a customer within the first 3 months of their start date; this is dynamic so every customer has a different start date. I am using this for churn analysis later so want to put it in the ETL instead of in beast mode so that I can use it in other calculations. However, I am having a hard time figuring out how to calculate this as all the dates I see are fixed or relative but used in the entire data set. Any suggestions?
Best Answer
-
The SQL transform worked. I also was able to do this in the Magic ETL by creating another data flow and filtering for the range I was looking for and then doing a group by on that range.
0
Answers
-
Normally when doing something like this, I would use a SQL Transform. Here's what that might look like:
SELECT
a.*,
(SELECT SUM(`Price`) FROM dataset AS b
WHERE b.`Customer` = a.`Customer`
AND b.`Month` >= a.`Start Month`
AND b.`Month` <= DATE_ADD(a.`Start Month`, INTERVAL 2 MONTH)
ORDER BY SUM(`Price`) DESC
LIMIT 1) AS 'Max 3 Month Price'
FROM dataset AS aHopefully that logic will help get you started.
Sincerely,
Valiant
**Please mark "Accept as Solution" if this post solves your problem
**Say "Thanks" by clicking the "heart" in the post that helped you.1 -
The SQL transform worked. I also was able to do this in the Magic ETL by creating another data flow and filtering for the range I was looking for and then doing a group by on that range.
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