Formula to get percent complete

Hi. I have data with Plants and Tasks and whether the tasks are complete are not. I need a formula so I can have a percent completed for each plant based on the number of Yes tasks they have compared to total tasks. Then I need to group by plant and bring that percent into a table.
Could someone help with this? The completion percent column is what I am trying to calculate. Will need a formula to calculate in Magic ETL then group by at plant level and bring in one row per plant with percent complete.
Thanks
Date | Plant | Task | Task Complete | Completion Percent |
---|---|---|---|---|
4/18/2024 | Plant A | Task 1 | Yes | 75% |
4/18/2024 | Plant A | Task 2 | Yes | 75% |
4/18/2024 | Plant A | Task 3 | Yes | 75% |
4/18/2024 | Plant A | Task 4 | No | 75% |
4/18/2024 | Plant B | Task 1 | No | 25% |
4/18/2024 | Plant B | Task 2 | No | 25% |
4/18/2024 | Plant B | Task 3 | No | 25% |
4/18/2024 | Plant B | Task 4 | Yes | 25% |
4/18/2024 | Plant C | Task 1 | Yes | 50% |
4/18/2024 | Plant C | Task 2 | Yes | 50% |
4/18/2024 | Plant C | Task 3 | No | 50% |
4/18/2024 | Plant C | Task 4 | No | 50% |
Best Answer
-
You can leverage window functions to do this:
SUM(SUM(CASE WHEN `Task Complete` = 'Yes' THEN 1 ELSE 0 END)) OVER (PARTITION BY `Plant`, `Date`) / SUM(SUM(1)) OVER (PARTITION BY `Plant`, `Date`)
This will conditionall return 1 or 0 if the task is complete or not and then sum that value up for all tasks for each date and plant.
Then it's divided by the total number of records for each plant + date combination
**Was this post helpful? Click Agree or Like below**
**Did this solve your problem? Accept it as a solution!**0
Answers
-
You can leverage window functions to do this:
SUM(SUM(CASE WHEN `Task Complete` = 'Yes' THEN 1 ELSE 0 END)) OVER (PARTITION BY `Plant`, `Date`) / SUM(SUM(1)) OVER (PARTITION BY `Plant`, `Date`)
This will conditionall return 1 or 0 if the task is complete or not and then sum that value up for all tasks for each date and plant.
Then it's divided by the total number of records for each plant + date combination
**Was this post helpful? Click Agree or Like below**
**Did this solve your problem? Accept it as a solution!**0 -
That worked! Thanks!
0
Categories
- All Categories
- 1.9K Product Ideas
- 1.9K Ideas Exchange
- 1.6K Connect
- 1.3K Connectors
- 305 Workbench
- 6 Cloud Amplifier
- 9 Federated
- 3K Transform
- 107 SQL DataFlows
- 648 Datasets
- 2.2K Magic ETL
- 4K Visualize
- 2.5K Charting
- 775 Beast Mode
- 75 App Studio
- 43 Variables
- 734 Automate
- 186 Apps
- 471 APIs & Domo Developer
- 63 Workflows
- 14 DomoAI
- 40 Predict
- 17 Jupyter Workspaces
- 23 R & Python Tiles
- 403 Distribute
- 117 Domo Everywhere
- 277 Scheduled Reports
- 9 Software Integrations
- 137 Manage
- 134 Governance & Security
- 8 Domo Community Gallery
- 44 Product Releases
- 12 Domo University
- 5.4K Community Forums
- 40 Getting Started
- 30 Community Member Introductions
- 113 Community Announcements
- 4.8K Archive