How do I create a MoM variance formula when the date format and interval varies for all entries?

Here is a sample data, where F11 is for month of November, F10 is for month of October-
Best Answers
-
I would start by standardizing the date variable. You could use str_to_date:
CASE
WHEN left(`Date`,1) = 'F' then str_to_date( concat(`Date`,2023), 'F%c%Y')
ELSE str_to_date(
Date
, '%d-%b-%y')END
Here's an article on different date transforms:
And the different codes for date formats:
Please 💡/💖/👍/😊 this post if you read it and found it helpful.
Please accept the answer if it solved your problem.
0 -
Can you describe in plain words what you expect the above formula to do? At a Row level the MAX(
Col
) of something is always going to be the same value asCol
making your denominator to always be 0, causing an error and therefore displaying no data.To fix this you'll need to have some sort of aggregation function around your values, providing a table or image that illustrates what the desired final outcome would be is often helpful. If is just a single value for the current month this might be achievable (or the latest month), but if you want a table that shows this on a monthly basis, it's likely you might want to leverage Magic ETL instead.
1
Answers
-
I would start by standardizing the date variable. You could use str_to_date:
CASE
WHEN left(`Date`,1) = 'F' then str_to_date( concat(`Date`,2023), 'F%c%Y')
ELSE str_to_date(
Date
, '%d-%b-%y')END
Here's an article on different date transforms:
And the different codes for date formats:
Please 💡/💖/👍/😊 this post if you read it and found it helpful.
Please accept the answer if it solved your problem.
0 -
I standardized the date and next I tried this formula to give variance but it's not giving me any value. Any idea what I might be doing wrong here?
CASE
whenAccount
= 'Sales' then
((CASE WHEN MONTH(Date
) = MAX(MONTH(Date
)) THEN SUM(Sales
) END) -
(CASE WHEN MONTH(Date
) = MAX(MONTH(Date
))-1 THEN SUM(Sales
) END))
/
(CASE WHEN MONTH(Date
) = MAX(MONTH(Date
))-1 THEN SUM(Sales
) END)
else 0
ENDAppreciate your help, thanks!
0 -
Can you describe in plain words what you expect the above formula to do? At a Row level the MAX(
Col
) of something is always going to be the same value asCol
making your denominator to always be 0, causing an error and therefore displaying no data.To fix this you'll need to have some sort of aggregation function around your values, providing a table or image that illustrates what the desired final outcome would be is often helpful. If is just a single value for the current month this might be achievable (or the latest month), but if you want a table that shows this on a monthly basis, it's likely you might want to leverage Magic ETL instead.
1
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
- 659 Datasets
- 116 SQL DataFlows
- 2.2K Magic ETL
- 815 Beast Mode
- 3.3K Visualize
- 2.5K Charting
- 82 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