Get First of Month in ETL
I'm creating an ETL flow that aggregates data by month. Is there a way to roll up my date field to just the first day of that month? I can extract the Month and the Year separately, but I need a result field that combines them back into a single 'First Day of the Month' field.
I.e. RegistrationDate = July 3 2018, First Day of the Month = July 1 2018
Right now the closest i can get is RegistrationMonth = 7, RegistrationYear = 2018. How do i put those back together to get July 1 2018 (or 7/1/2018 works too)? It needs to be done in the ETL process, not in a Beast Mode on the card because I want the aggregated value to be a distinct count and if I aggregate to the date level in ETL, it could result in duplicate counts when i aggregate again in the card to the month level.
Thanks
Comments
-
If you've got your Month and Year already, you could do the following:
1. Add a constant where the value is 1 and the type is text
2. Add a Combine Columns and follow the screenshot below to combine the Month, 1, and Year into a string your example + mine would result in a string of 7/1/2018
3. Use Set Column Type with 'Date' and 'Month First' to convert it to a date type.
The steps and flow order above should give you a new Date column where all dates are the first of the month.
Let me know if you have any questions,
Valiant_Ronin
**Please mark "Accept as Solution" if this post solves your problem
**Say "Thanks" by clicking the "heart" in the post that helped you.1 -
I know you were looking for the first day ability, but that does not appear to be an option. If last day would be an option then I could help, but it will involve a MYSQL dataflow. Here is the syntax that you would use.
Select last_day(Date) as 'Month End Date'
This will create a new column that returns the last day of the month from the date column you are working in.
1 -
Two ways come to mind
1
Create a in excel a dataset that has two columns "Date" and the matching "First day of the month date".
Join that to your current dataset. Not elegant but it will work.
I have a fiscal calendar dataset that has this plus last day of month, quarter, year, half etc.
2
In magic ETL
Convert the date to decimal
Multiply "Day of Month" by 1000*60*60*24 (converts from day to miliseconds)
Subtract that from Date as decimal
Convert back to Date
0
Categories
- All Categories
- 1.1K Product Ideas
- 1.1K Ideas Exchange
- 1.2K Connect
- 968 Connectors
- 255 Workbench
- Cloud Amplifier
- 1 Federated
- 2.4K Transform
- 76 SQL DataFlows
- 500 Datasets
- 1.8K Magic ETL
- 2.7K Visualize
- 2.2K Charting
- 360 Beast Mode
- 19 Variables
- 483 Automate
- 101 Apps
- 378 APIs & Domo Developer
- 6 Workflows
- 22 Predict
- 6 Jupyter Workspaces
- 16 R & Python Tiles
- 316 Distribute
- 64 Domo Everywhere
- 252 Scheduled Reports
- 59 Manage
- 59 Governance & Security
- 1 Product Release Questions
- 5K Community Forums
- 37 Getting Started
- 23 Community Member Introductions
- 63 Community Announcements
- 4.8K Archive