Null Values Beastmode
Good evening, Community,
I am creating an app that will be pulling data down from Domo and I seem to be running into some issues with some beast mode logic.
The beast mode (Open Rate):
COUNT(CASE WHEN `activityName` = 'Open Email' THEN `activityDate` END) / COUNT(CASE WHEN `activityName` = 'Send Email' THEN `activityDate` END)
The issue:
When you look at the result in the card it compiles fine. When I try to call it via the API and write it to MySQL I run into a “Data Truncated” issue because a null value is trying to be passed for some rows.
Time frame I am testing and store #:
JULY 2021 (entire month) and Mission Bend #001 and The Woodlands #002 (store showing null value for open_rate)
What I have tried:
I believe is the issue is due to some counts not resulting with any values and null is put. The way I came to this conclusion is I broke down the above formula into two columns (separate fields) and can see the counts are correct for the top and bottom part of the formula for Mission Bend, but for other stores, the bottom part you will get a Null / Blank value. I tried to change the formula on my end to COUNT(CASE WHEN `activityName` = 'Send Email' THEN `activityDate` ELSE 0 END)
and while the error goes away the data is incorrect. The result value I should be seeing is 33.2% but I am getting 8.5%. Is there a better way to refactor this way so that the count is correct when you put the formula together: expected outcome should be top = 319 / bottom = 960 = 33.2%?
Below is a screenshot of the store that shows a null value for the open rate column, where as the first store I was testing actually has values in there.
I appreciate your help in advance.
Answers
-
Try doing this for your beast mode to get the counts you want:
SUM(CASE WHEN `activityName` = 'Open Email' THEN 1 ELSE 0 END) / SUM(CASE WHEN `activityName` = 'Send Email' THEN 1 ELSE 0 END)
This should eliminate any issues with nulls or blanks
**Check out my Domo Tips & Tricks Videos
**Make sure toany users posts that helped you.
**Please mark as accepted the ones who solved your issue.0 -
one addition to @MarkSnodgrass answer is to wrap it in a case statements to handle the situation where you don’t have any send email activities (your denominator is 0)
**Was this post helpful? Click Agree or Like below**
**Did this solve your problem? Accept it as a solution!**1
Categories
- All Categories
- 1.9K Product Ideas
- 1.9K Ideas Exchange
- 1.6K Connect
- 1.3K Connectors
- 306 Workbench
- 6 Cloud Amplifier
- 9 Federated
- 3K Transform
- 112 SQL DataFlows
- 649 Datasets
- 2.2K Magic ETL
- 4K Visualize
- 2.5K Charting
- 787 Beast Mode
- 78 App Studio
- 43 Variables
- 743 Automate
- 187 Apps
- 474 APIs & Domo Developer
- 67 Workflows
- 15 DomoAI
- 40 Predict
- 17 Jupyter Workspaces
- 23 R & Python Tiles
- 406 Distribute
- 117 Domo Everywhere
- 279 Scheduled Reports
- 10 Software Integrations
- 139 Manage
- 136 Governance & Security
- 8 Domo Community Gallery
- 44 Product Releases
- 12 Domo University
- 5.4K Community Forums
- 41 Getting Started
- 31 Community Member Introductions
- 113 Community Announcements
- 4.8K Archive