Expand my Community achievements bar.

Does anyone have a report that pulls in the subtasks for a Parent Task.

Avatar

Level 4

I currently have a Request Report that I can select the Resolvable Task. I am trying to find the subtasks for the Resolvable Task and more specifically find the current subtask that is ready to be worked. For background each of our Resolvable Tasks have subtasks that are predecessors to the next subtask.

The ultimate goal is to find the subtask that can start; the end results would be to have all of the active requests with the task that is currently being worked or needs to be completed to move forward. The name of the subtask will provide us the level of work (Development, Testing, Implementation).

Topics

Topics help categorize Community content and increase your ability to discover relevant content.

8 Replies

Avatar

Community Advisor

I'm not sure this can be done. Would it work to instead flip the report and try to get a task report that looks backwards at converted optask data? Or do you really need it to be a request report?

Avatar

Level 4

I am trying to do this in reverse; not much luck yet plus have not put a whole lot of effort in to it yet. I am trying to create a report that will show all of our backlog requests and what level of effort it is. I am thinking I can do it in reverse looking for all tasks that can start and not completed, then find the parent task for that specific task and then the resolving request.

I think I run in to an issue if there is a parent task to the parent task although I should not have any of those based upon how we setup our support project.

Avatar

Level 4

I am not having much luck with this; going back to the drawing board. My thought is that maybe if I add a custom field to one of my custom forms that looks to see if a task has any children, if the answer is yes then I would look at each child looking for a task that has the indicator that "Can Start" = True and the percent complete is not 100% then I would use the name looking for the words "Impl" or "Test" or "Unit Test" (a.k.a. QA) or "BA" (a.k.a. Analysis) and show the results in the custom field to reflect the level.

Second thought would be to conduct something similar looking for the children task names and go through a hierarchical search something like: look for a child task where "Impl" exists and "Can Start" is true then work level equals "Ready to Implement else look for a child task where the "Test" exists in the name and "Can Start" is true then work level equals "Testing" and so forth until I get to the lowest level basically indicating the current child task that is currently being worked on or is ready to start.

Has anyone done something like this or have a calculation example that is similar to this; specifically looking to see if there is anyway to search and find child tasks for a parent task.

Avatar

Community Advisor

hey Frank, calling on children would only be possible as a collection (in other words, a parent task could have more than one child, therefore it is a collection or one-to-many relationship). I don't think you can call on a collection in a calculated field: only in a report view or filter (or prompt).

Avatar

Level 4

Thanks Skye a report view may work. I never got in to how to create a formula using collections; do you have an example or maybe a training video that will help me become familiar on how to use collections in reporting?

Avatar

Community Advisor

The help article in One (look for “referencing collections”) is really good and wf-pro.com has a few samples that will give you a feel for the syntax. I don’t think there’s a video publicly available at the moment but ask your account rep to see if they can get you a copy of Jason Webre’s Collections session from last year’s Leap, and that would round you out nicely

Avatar

Level 2

Hi Frank

I had to implement a similar requirement, not on a report but on a project view - however I think the same approach can be taken for a report. I was able to list the parent task and child tasks using a view and custom field. Get in touch if you want me to give you an overview of how I managed it.

Kind regards

Marc

Avatar

Community Advisor

I haven't done anything like this myself but here are all the Task collections I've used over the years. Hopefully one of these can help you out!

I put the display name in bold to help call out which each code is doing.

valueexpression=IF({numberOfChildren}=0,CONCAT({name},' - ',{plannedCompletionDate}))

listdelimiter=<p>

listmethod=nested(tasks).lists

valueformat=HTML

displayname=Child Tasks with Due Date

textmode=true

type=iterate

displayname=All Tasks Name & Assignment

listdelimiter=<p>

listmethod=nested(tasks).lists

textmode=true

type=iterate

valueexpression=CONCAT({name},' - ',{assignedTo}.{name})

valueformat=HTML

displayname=Task Name & Assignment (no children)

listdelimiter=<p>

listmethod=nested(tasks).lists

textmode=true

type=iterate

valueexpression=IF({numberOfChildren}=0,CONCAT({name},' - ',{assignedTo}.{name}))

valueformat=HTML

displayname=Task Name & Assignment (not a parent)

listdelimiter=<p>

listmethod=nested(tasks).lists

textmode=true

type=iterate

valueexpression=IF(!ISBLANK({parentID}),CONCAT({name},' - ',{assignedTo}.{name}))

Shows all successors

listdelimiter=<div>

listmethod=nested(successors).lists

name=Successors

textmode=true

type=iterate

valueexpression=CONCAT({successor}.{project}.{name}," - ",{successor}.{taskNumber})

valueformat=HTML

Task collection on a project report. Get all the project information for a status report but can also include the incomplete tasks due in the next week.

displayname=Tasks For The Next Week

listdelimiter=

listmethod=nested(tasks).lists

textmode=true

type=iterate

valueexpression=IF({plannedCompletionDate}<$$TODAYe+5d,IF(ISBLANK({actualCompletionDate}),CONCAT({name}," (",{plannedCompletionDate},") || ")))

valueformat=HTML

Show Current Tasks (Can Start and Not Complete)

displayname=Current Task(s)

listdelimiter=

listmethod=nested(tasks).lists

textmode=true

type=iterate

valueexpression=IF({numberOfChildren}>0,"",IF(ISBLANK({handoffDate}),"",IF(ISBLANK({actualCompletionDate}),CONCAT(" | ",{name}),"")))

valueformat=HTML

displayname=Project's Complete Pending Approval Tasks w/ PCD

listdelimiter=<p>

listmethod=nested(tasks).lists

textmode=true

type=iterate

valueexpression=IF(CONTAINS('CPL:A',{status})=false," ",CONCAT({name},' : ',{plannedCompletionDate}))

valueformat=HTML

displayname=Project's Incomplete Tasks w/ PCD

listdelimiter=<p>

listmethod=nested(tasks).lists

textmode=true

type=iterate

valueexpression=IF(CONTAINS('CPL',{status})=true," ",CONCAT({name},' : ',{plannedCompletionDate}))

valueformat=HTML

displayname=Project's Milestone Tasks W/ due Date

listdelimiter=<p>

listmethod=nested(tasks).lists

textmode=true

type=iterate

valueexpression=IF(ISBLANK({milestoneID})," ",CONCAT({name}," : ",{plannedCompletionDate}))

valueformat=HTML