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
- 1.8K Product Ideas
- 1.8K Ideas Exchange
- 1.6K Connect
- 1.2K Connectors
- 302 Workbench
- 6 Cloud Amplifier
- 9 Federated
- 2.9K Transform
- 104 SQL DataFlows
- 633 Datasets
- 2.2K Magic ETL
- 3.9K Visualize
- 2.5K Charting
- 760 Beast Mode
- 62 App Studio
- 42 Variables
- 699 Automate
- 181 Apps
- 457 APIs & Domo Developer
- 51 Workflows
- 10 DomoAI
- 38 Predict
- 16 Jupyter Workspaces
- 22 R & Python Tiles
- 401 Distribute
- 116 Domo Everywhere
- 277 Scheduled Reports
- 8 Software Integrations
- 130 Manage
- 127 Governance & Security
- 8 Domo Community Gallery
- 38 Product Releases
- 12 Domo University
- 5.4K Community Forums
- 40 Getting Started
- 30 Community Member Introductions
- 111 Community Announcements
- 4.8K Archive