Forum Discussion
DAX for Percentage Based on Three Status'
- 3 years ago
Hi Anonymous,
So this makes the problem a bit clear.
My suggestion in this case would nbe to get rid of the blanks in your data inside power query, unless you absolutely need the for some reason.
Next you can just use the following code to:
1. get the total number of times people have worked IO, which is 19
2. Get the total number of time people have worked IO or WFH, which is 65 (not 104, since we are not counting OOO). The double pipe symbol || stand for or condition
3. Divide the 2 numbers. (19/65 = 29.23%)
IO % = var IO_Count = CALCULATE(COUNTROWS(Nata), FILTER(Nata, Nata[Status]="IO")) var Total_Count = CALCULATE(COUNTROWS(Nata), FILTER(Nata, Nata[Status]="IO" || Nata[Status]="WFH")) Return DIVIDE(IO_Count,Total_Count)Since in the total you have a filter for only WFH or IO, even if the blanks are present, it should not be a problem, as they will be filtered out.
I hope this solves your problem and if it does then please do mark it as the solution, so that others can reach the solution faster.
P.S. - I was working on some other solution and added your table to that solution, hence the table is named "Nata". Apologies!
Thank you,
Vishesh Jain
Hi visheshjain
Sorry I realize I wasn't clear.
I want to only calculate In Office and Working From Home. The total of these two values would equal 100% of the employees working time.
"Out of Office" is included in the sheet as I do not want this to be included in the total working time.
So if Employee 1 works in office Monday and Tuesday, works from home Wednesday Thursday, but is out of office on Friday, than their time spent in office would be 50% of their working time.
It also appears that the blank cells under "Status" are being counted in the total percentage, which I also want to avoid, as my spreadsheet has dates entered in advance (actual file up until end of January)
| Agent Name | Weekday | Date | AM/PM | Status |
| 1 | Monday | 02/01/2023 | AM | OOO |
| 1 | Monday | 02/01/2023 | PM | OOO |
| 2 | Monday | 02/01/2023 | AM | WFH |
| 2 | Monday | 02/01/2023 | PM | WFH |
| 3 | Monday | 02/01/2023 | AM | WFH |
| 3 | Monday | 02/01/2023 | PM | WFH |
| 4 | Monday | 02/01/2023 | AM | OOO |
| 4 | Monday | 02/01/2023 | PM | OOO |
| 5 | Monday | 02/01/2023 | AM | OOO |
| 5 | Monday | 02/01/2023 | PM | OOO |
| 6 | Monday | 02/01/2023 | AM | OOO |
| 6 | Monday | 02/01/2023 | PM | OOO |
| 7 | Monday | 02/01/2023 | AM | OOO |
| 7 | Monday | 02/01/2023 | PM | OOO |
| 8 | Monday | 02/01/2023 | AM | OOO |
| 8 | Monday | 02/01/2023 | PM | OOO |
| 9 | Monday | 02/01/2023 | AM | WFH |
| 9 | Monday | 02/01/2023 | PM | WFH |
| 10 | Monday | 02/01/2023 | AM | OOO |
| 10 | Monday | 02/01/2023 | PM | OOO |
| 11 | Monday | 02/01/2023 | AM | WFH |
| 11 | Monday | 02/01/2023 | PM | OOO |
| 12 | Monday | 02/01/2023 | AM | WFH |
| 12 | Monday | 02/01/2023 | PM | OOO |
| 13 | Monday | 02/01/2023 | AM | WFH |
| 13 | Monday | 02/01/2023 | PM | WFH |
| 1 | Tuesday | 03/01/2023 | AM | WFH |
| 1 | Tuesday | 03/01/2023 | PM | WFH |
| 2 | Tuesday | 03/01/2023 | AM | IO |
| 2 | Tuesday | 03/01/2023 | PM | IO |
| 3 | Tuesday | 03/01/2023 | AM | IO |
| 3 | Tuesday | 03/01/2023 | PM | IO |
| 4 | Tuesday | 03/01/2023 | AM | OOO |
| 4 | Tuesday | 03/01/2023 | PM | OOO |
| 5 | Tuesday | 03/01/2023 | AM | WFH |
| 5 | Tuesday | 03/01/2023 | PM | WFH |
| 6 | Tuesday | 03/01/2023 | AM | WFH |
| 6 | Tuesday | 03/01/2023 | PM | WFH |
| 7 | Tuesday | 03/01/2023 | AM | OOO |
| 7 | Tuesday | 03/01/2023 | PM | OOO |
| 8 | Tuesday | 03/01/2023 | AM | WFH |
| 8 | Tuesday | 03/01/2023 | PM | WFH |
| 9 | Tuesday | 03/01/2023 | AM | WFH |
| 9 | Tuesday | 03/01/2023 | PM | WFH |
| 10 | Tuesday | 03/01/2023 | AM | OOO |
| 10 | Tuesday | 03/01/2023 | PM | OOO |
| 11 | Tuesday | 03/01/2023 | AM | OOO |
| 11 | Tuesday | 03/01/2023 | PM | OOO |
| 12 | Tuesday | 03/01/2023 | AM | IO |
| 12 | Tuesday | 03/01/2023 | PM | IO |
| 13 | Tuesday | 03/01/2023 | AM | WFH |
| 13 | Tuesday | 03/01/2023 | PM | OOO |
| 1 | Wednesday | 04/01/2023 | AM | IO |
| 1 | Wednesday | 04/01/2023 | PM | IO |
| 2 | Wednesday | 04/01/2023 | AM | IO |
| 2 | Wednesday | 04/01/2023 | PM | IO |
| 3 | Wednesday | 04/01/2023 | AM | WFH |
| 3 | Wednesday | 04/01/2023 | PM | WFH |
| 4 | Wednesday | 04/01/2023 | AM | WFH |
| 4 | Wednesday | 04/01/2023 | PM | WFH |
| 5 | Wednesday | 04/01/2023 | AM | WFH |
| 5 | Wednesday | 04/01/2023 | PM | WFH |
| 6 | Wednesday | 04/01/2023 | AM | WFH |
| 6 | Wednesday | 04/01/2023 | PM | WFH |
| 7 | Wednesday | 04/01/2023 | AM | IO |
| 7 | Wednesday | 04/01/2023 | PM | IO |
| 8 | Wednesday | 04/01/2023 | AM | WFH |
| 8 | Wednesday | 04/01/2023 | PM | WFH |
| 9 | Wednesday | 04/01/2023 | AM | WFH |
| 9 | Wednesday | 04/01/2023 | PM | WFH |
| 10 | Wednesday | 04/01/2023 | AM | OOO |
| 10 | Wednesday | 04/01/2023 | PM | OOO |
| 11 | Wednesday | 04/01/2023 | AM | OOO |
| 11 | Wednesday | 04/01/2023 | PM | OOO |
| 12 | Wednesday | 04/01/2023 | AM | IO |
| 12 | Wednesday | 04/01/2023 | PM | IO |
| 13 | Wednesday | 04/01/2023 | AM | OOO |
| 13 | Wednesday | 04/01/2023 | PM | OOO |
| 1 | Thursday | 05/01/2023 | AM | WFH |
| 1 | Thursday | 05/01/2023 | PM | WFH |
| 2 | Thursday | 05/01/2023 | AM | IO |
| 2 | Thursday | 05/01/2023 | PM | IO |
| 3 | Thursday | 05/01/2023 | AM | IO |
| 3 | Thursday | 05/01/2023 | PM | WFH |
| 4 | Thursday | 05/01/2023 | AM | WFH |
| 4 | Thursday | 05/01/2023 | PM | WFH |
| 5 | Thursday | 05/01/2023 | AM | WFH |
| 5 | Thursday | 05/01/2023 | PM | WFH |
| 6 | Thursday | 05/01/2023 | AM | WFH |
| 6 | Thursday | 05/01/2023 | PM | WFH |
| 7 | Thursday | 05/01/2023 | AM | OOO |
| 7 | Thursday | 05/01/2023 | PM | OOO |
| 8 | Thursday | 05/01/2023 | AM | WFH |
| 8 | Thursday | 05/01/2023 | PM | WFH |
| 9 | Thursday | 05/01/2023 | AM | WFH |
| 9 | Thursday | 05/01/2023 | PM | WFH |
| 10 | Thursday | 05/01/2023 | AM | OOO |
| 10 | Thursday | 05/01/2023 | PM | OOO |
| 11 | Thursday | 05/01/2023 | AM | OOO |
| 11 | Thursday | 05/01/2023 | PM | OOO |
| 12 | Thursday | 05/01/2023 | AM | IO |
| 12 | Thursday | 05/01/2023 | PM | IO |
| 13 | Thursday | 05/01/2023 | AM | OOO |
| 13 | Thursday | 05/01/2023 | PM | OOO |
| 1 | Friday | 06/01/2023 | AM | |
| 1 | Friday | 06/01/2023 | PM | |
| 2 | Friday | 06/01/2023 | AM | |
| 2 | Friday | 06/01/2023 | PM | |
| 3 | Friday | 06/01/2023 | AM | |
| 3 | Friday | 06/01/2023 | PM | |
| 4 | Friday | 06/01/2023 | AM | |
| 4 | Friday | 06/01/2023 | PM | |
| 5 | Friday | 06/01/2023 | AM | |
| 5 | Friday | 06/01/2023 | PM | |
| 6 | Friday | 06/01/2023 | AM | |
| 6 | Friday | 06/01/2023 | PM | |
| 7 | Friday | 06/01/2023 | AM | |
| 7 | Friday | 06/01/2023 | PM | |
| 8 | Friday | 06/01/2023 | AM | |
| 8 | Friday | 06/01/2023 | PM | |
| 9 | Friday | 06/01/2023 | AM | |
| 9 | Friday | 06/01/2023 | PM | |
| 10 | Friday | 06/01/2023 | AM | |
| 10 | Friday | 06/01/2023 | PM | |
| 11 | Friday | 06/01/2023 | AM | |
| 11 | Friday | 06/01/2023 | PM | |
| 12 | Friday | 06/01/2023 | AM | |
| 12 | Friday | 06/01/2023 | PM | |
| 13 | Friday | 06/01/2023 | AM | |
| 13 | Friday | 06/01/2023 | PM |
Hi Anonymous,
So this makes the problem a bit clear.
My suggestion in this case would nbe to get rid of the blanks in your data inside power query, unless you absolutely need the for some reason.
Next you can just use the following code to:
1. get the total number of times people have worked IO, which is 19
2. Get the total number of time people have worked IO or WFH, which is 65 (not 104, since we are not counting OOO). The double pipe symbol || stand for or condition
3. Divide the 2 numbers. (19/65 = 29.23%)
IO % =
var IO_Count = CALCULATE(COUNTROWS(Nata), FILTER(Nata, Nata[Status]="IO"))
var Total_Count = CALCULATE(COUNTROWS(Nata), FILTER(Nata, Nata[Status]="IO" || Nata[Status]="WFH"))
Return
DIVIDE(IO_Count,Total_Count)
Since in the total you have a filter for only WFH or IO, even if the blanks are present, it should not be a problem, as they will be filtered out.
I hope this solves your problem and if it does then please do mark it as the solution, so that others can reach the solution faster.
P.S. - I was working on some other solution and added your table to that solution, hence the table is named "Nata". Apologies!
Thank you,
Vishesh Jain