FIltering by percentile in Beast Mode/ETL
I recently had the need to filter a list of pages by pageviews. I only want pages with pageviews in the 80% percentile or higher.
This had to be done on a weekly basis. And I don't want to use a fixed-number cutoff (e.g. filter when pageview is >1,000, which is a fixed number), since pageviews > 1,000 might be considered good this week, but average the next (consider Black Friday week for example).
Appreciate any help or advice on this. I am agnostic to the calculation being done in Beast Mode or within ETL.
Marv
Comments
-
Luckily I had to do the same thing a couple weeks ago. Here's the query I used in a SQL transform to generate a 'Percentile' column on the dataset.
You should be able to edit this to fit your needs:
SELECT
a.*,
ROUND(100.0 * (SELECT COUNT(*) FROM inputDatset AS b WHERE b.`Values` <= a.`Values` ) / total.cnt, 1 )
AS percentile FROM inputDatset AS a
CROSS JOIN (
SELECT COUNT(*) AS cnt
FROM inputDatset) AS total
ORDER BY percentile DESCYou'll just need to replace the `Values` field with your pageviews field and then the inputDataset with whatever your initial table is.
Once you have your new output, you can filter on your percentile column >= 80.
Let me know if you have any other questions.
Sincerely,
ValiantSpur
**Please mark "Accept as Solution" if this post solves your problem
**Say "Thanks" by clicking the "heart" in the post that helped you.0
Categories
- All Categories
- 1.4K Product Ideas
- 1.4K Ideas Exchange
- 1.4K Connect
- 1.2K Connectors
- 284 Workbench
- 4 Cloud Amplifier
- 4 Federated
- 2.9K Transform
- 89 SQL DataFlows
- 556 Datasets
- 2.2K Magic ETL
- 3.3K Visualize
- 2.3K Charting
- 569 Beast Mode
- 10 App Studio
- 27 Variables
- 578 Automate
- 140 Apps
- 414 APIs & Domo Developer
- 23 Workflows
- 1 DomoAI
- 28 Predict
- 12 Jupyter Workspaces
- 16 R & Python Tiles
- 350 Distribute
- 90 Domo Everywhere
- 258 Scheduled Reports
- 2 Software Integrations
- 92 Manage
- 89 Governance & Security
- 9 Product Release Questions
- Community Forums
- 42 Getting Started
- 28 Community Member Introductions
- 85 Community Announcements
- 4.8K Archive