Forum Discussion
Socrates
6 years agoFrequent Visitor
Set overall status if all tasks completed
I have a table where multiple people could be assigned to one project, but even if one person's part is complete the whole project is still live until everyone is done. For instance:
| Project ID | Staff | Status |
| 1 | A | Live |
| 1 | B | Completed |
| 1 | C | Completed |
| 2 | D | Completed |
| 3 | E | Live |
| 3 | F | Live |
| 4 | G | Completed |
| 4 | H | Live |
| 4 | I | Completed |
| 4 | J | Live |
In the above case, only project 2 is fully completed as all of the rows for its Status are set to 'Completed'
I'm looking to add another column which says if a project is fully completed or not but I just can't think of the syntax needed.
Any help would be great. Thank you.
Socrates - Should be something like:
Column = VAR __Table = SUMMARIZE(FILTER('Table',[ProjectID]=EARLIER([ProjectID])),[Status]) RETURN IF(MAXX(__Table,[Status])="Completed" && COUNTROWS(__Table)=1,"Completed","Live")
2 Replies
- Greg_Deckler
Community Champion
Socrates - Should be something like:
Column = VAR __Table = SUMMARIZE(FILTER('Table',[ProjectID]=EARLIER([ProjectID])),[Status]) RETURN IF(MAXX(__Table,[Status])="Completed" && COUNTROWS(__Table)=1,"Completed","Live") - lbendlin
Super User
You asked for a calculated column. A measure would be slightly different.
Completed = var p = Projects[Project ID] var s = CALCULATETABLE(VALUES(Projects[Status]),ALL(Projects),Projects[Project ID]=p) return switch(TRUE(),countrows(s)>1,FALSE(),s={"Completed"},TRUE(),FALSE())