Functions for predecessors
Are there Smartsheet functions for enumerating the predecessors of a row?
I've been prototyping SmartSheets for managing a pretty sizeable research project (multiple FTEs over several years), potentially replacing Asana for group project management. The reporting is nice, as is the combination of spreadsheet, gantt, card, and resource views. The main thing I'm missing is the ability to show, particularly in the card view, all of tasks whose predecessors have been completed and are available for work. It's something I and my staff does on a regular basis in Asana, and for the large planned-out research projects my Center runs, it's basically essential for how we work and I cannot find a way to do it easily in SmartSheets.
If there was a function for enumerating predecessors, I could simply COUNTIF the number of non-Completed predecessors, and make a row available for work once the predecessors are all Completed. Then I could set up a filter in the Card View to show cards assigned to me that are available for work. This seems like pretty essential functionality to make predecessors useful, but I cannot find a way to do it. Is this possible or planned in the near future?
Comments
-
Predecessors in Smartsheet are more focused around date rather than completion, although what you are asking about makes a lot of sense and would be useful to know.
Without giving it a ton of thought, you could create an IF statement that checks through all your predecessors and ensures they are complete. Or if the rows are dependant on the one above it, and everything is sequential, then you could do a simple formula to indicate if the item before it is completed.
I do this for our course development process. The formula checks a couple rows in the process and reports on whether specific predecessors are complete or not... See the screenshot for an example.
Let me know if you want more specific on how this was done.
-
On a side note, we add the column with the status to our reports so each user can clearly see when their tasks are ready to be worked on.
-
That makes sense, yes, and I've also found how to do it with a single predecessor, but not if you have lags or multiple predecessors. If all of our dependencies were linear chains, this would be pretty straightforward, but while most are, the project is complex enough that they're not all this way.
A predecessor analogue of CHILDREN() is basically what I'm looking for, and it would make it easy to do what I want. With that, for example, I could do something like IF(COUNTIF(Predecessors()[Status], "Completed") = COUNT(Predecessors), "True", "False") for a checkbox on if the task was ready. Alternatively, I could generate a derived status column that automatically placed tasks with unmet dependencies on hold, and used that to classify cards in the card view.
If that's not available, how hard would it be to construct? I'd have to text process the predecessors field, right? That sounds like a mess...
-
Correct, that is not already available. But I could see how that would be beneficial to many power users. I recommend submitting a Product Enhancement Request and be sure to outline the use case thoroughly. Sorry I couldn't be of more help.
-
I too have put in an enhancement request for this. For smaller projects its not too bad to manually enter IF(AND statements and reference the rows of each predecessor, but larger projects as well as lag/lead time really make it a royal pain.
Help Article Resources
Categories
- All Categories
- 14 Welcome to the Community
- Smartsheet Customer Resources
- 63.9K Get Help
- 410 Global Discussions
- 220 Industry Talk
- 458 Announcements
- 4.8K Ideas & Feature Requests
- 143 Brandfolder
- 136 Just for fun
- 57 Community Job Board
- 459 Show & Tell
- 31 Member Spotlight
- 1 SmartStories
- 298 Events
- 37 Webinars
- 7.3K Forum Archives
Check out the Formula Handbook template!