how to aggregate nested average case statement
Business task: "what percent of this region's sites beat their target signups YTD"? So I want to take the average daily signup for each site within a region and see if it passes its target. If it does pass, it gets a 1, else 0. After this, I then want to aggregate it to the region level. So for example if 5 out of 6 sites passed, then the passing rate would be 83% for the region.
This is my beast mode so far:
(Case
when AVG(`SignUps`) >= AVG(`Target`)
then 1
else 0
End)
The problem is that while this aggregation does work when I have the site column, it doesn't aggregate when I replace the site column with the region column. Assuming this problem is fixed, I then need to take the sum of all the 1's within a region and divide it by the number of stores so I can get a passing rate for a region. So I thought of how to approach this by using the beast mode below but I still have that first issue in the first part so I was wondering on how I should go about this. Thanks!
SUM(DISTINCT Case
when AVG(`SignUps`) >= AVG(`Target`)
then 1
else 0
End)
/
COUNT(DISTINCT `StoreNumber`)
Answers
-
sum(count(distinct case when AVG(
SignUps
) >= AVG(`Target`) thenStoreNumber
end)) fixed (byRegion
)/
sum(count(distinct
StoreNumber
)) FIXED (byRegion
)
“There is a superhero in all of us, we just need the courage to put on the cape.” -Superman1
Categories
- 10.5K All Categories
- 6 Connect
- 916 Connectors
- 250 Workbench
- 463 Transform
- 1.7K Magic ETL
- 69 SQL DataFlows
- 476 Datasets
- 189 Visualize
- 252 Beast Mode
- 2.1K Charting
- 11 Variables
- 17 Automate
- 354 APIs & Domo Developer
- 89 Apps
- 3 Workflows
- 20 Predict
- 5 Jupyter Workspaces
- 15 R & Python Tiles
- 246 Distribute
- 62 Domo Everywhere
- 243 Scheduled Reports
- 21 Manage
- 42 Governance & Security
- 172 Product Ideas
- 1.2K Ideas Exchange
- 11 Community Forums
- 27 Getting Started
- 14 Community Member Introductions
- 55 Community News
- 4.5K Archive