How to pull grandchildren into report | Community
Skip to main content
Level 2
March 19, 2025
Solved

How to pull grandchildren into report

  • March 19, 2025
  • 1 reply
  • 952 views

I have a task report and am able to pull in the first level of children with a list:

displayname=Children Tasks listdelimiter=<br> listmethod=nested(children).lists type=iterate valueexpression=CONCAT({name}, " - Duration: ", {duration}/480, " days, Due Date: ", {plannedCompletionDate}) valueformat=HTML

How can I get at least one more level down?

Is there something like: nested(children.children).lists?

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by thbrandtSU

@thbrandtsu did you get it to work? 


Hi Sven,

Sorry for the delay, I had to pause and come back to this.

I really appreciate your suggestions. I ended up not replicating exactly what you shared, though your concept inspired a similar solution.

One concern I had was in case a task was buried more or even less, a hardcoded {parent}.{parent}.{name} would break.

So I ended up adding a calculated field to be placed on any task where work is being assigned (not a grouping task). This field checks its ancestry by looking for a Job Number field which is present on the main Deliverable form.

It looks for the name up 4 parents, so great-great-grand-parent 🙂

IF(!ISBLANK({parent}.{DE:Job Number}), {parent}.{name}, IF(!ISBLANK({parent}.{parent}.{DE:Job Number}), {parent}.{parent}.{name}, IF(!ISBLANK({parent}.{parent}.{parent}.{DE:Job Number}), {parent}.{parent}.{parent}.{name}, IF(!ISBLANK({parent}.{parent}.{parent}.{parent}.{DE:Job Number}), {parent}.{parent}.{parent}.{parent}.{name}, "Too many sub-tasks")))))

 

Of course, now we can pull this field into reporting: "give me all tasks where DE:DeliverableAncestor is not blank and group them by that value".

In my early tests, it seems to be working.

FWIW, I have strayed away from using forms with only calculated fields due to not wanting to confuse PMs with remembering to add various utility forms and also feeling like clutters things up. That said, you have opened my eyes some to the potential value add.

Additionally, we have had some other talks as to what exactly needs to be reported upon and want to explore using a "Milestone Form" which would identify particular tasks as dates to pay attention to as opposed to just pulling in every task with the above Deliverable Ancestor form.

Overall, both methods head one of your initial cautions to be more intentional about what is pulled in vs queries on queries.

Thanks again for "rubber ducking" this with me.

 

1 reply

Sven-iX
Community Advisor
Community Advisor
March 20, 2025

To my knowledge you can't - simply because children is a collection. And indeed, each of its members may have their own collection of children but there is no way to nest iterations. 

 

I try to stay away from iterating over tasks/issues in this way because while technically doable, depending on the number of tasks/issues this is a resource intensive report and may become slow. 

 

It looks like you're trying to emulate the project task view - why? 

Level 2
March 20, 2025

Thanks. Not being able to might actually help some process 🙂
The reason is the report is filtering by for specific tasks(by looking or a single form attached to the task) across projects and providing a summary for leadership who 1) do not typically go into projects and 2) need a peak for these tasks across several projects.

I'm open to another way if there are thoughts.

Sven-iX
Community Advisor
Community Advisor
March 20, 2025

Hmmm. 
So my first thought is that if leadership wants a summary - looking at grandchildren ain't it 🙂 So I would ask exactly what they are trying to read out.
Thinking, if I need to know about TaskA (status, dates) and want to scan the child tasks, would it work to list all non-parent tasks under Task A, and group by the A tasks?

If that might fly, I think I can help.