Hi All
I am looking to see if its possible to add a column within a project report that shows which tasks are needed to be completed within the project next? Maybe limiting it to the next 2-3 tasks if possible.
Thank you in advance!
Solved! Go to Solution.
Views
Replies
Total Likes
I have a report that I call a Hotsheet. It lays out the tasks coming due this week by project in a project report.
Here is an example of "Mondays" text mode code. You could replicate this for each day and have this week's tasks.
column.2.displayname=Monday
column.2.sharecol=true
column.2.textmode=true
column.2.value=<div style="color: #ff0000;"><em>
column.2.valueformat=HTML
column.3.displayname=Monday
column.3.listdelimiter=<div>
column.3.listmethod=nested(tasks).lists
column.3.sharecol=true
column.3.textmode=true
column.3.type=iterate
column.3.valueexpression=IF({plannedCompletionDate}<$$NOW && {plannedCompletionDate}>$$TODAYbw && {plannedCompletionDate}<$$TODAYew && DAYOFWEEK(CLEARTIME({plannedCompletionDate}))=2 && {status} != 'CPL',{name})
column.3.valueformat=HTML
column.4.displayname=
column.4.sharecol=true
column.4.textmode=true
column.4.value=</em></div>
column.4.valueformat=HTML
column.5.displayname=Monday
column.5.listdelimiter=<div>
column.5.listmethod=nested(tasks).lists
column.5.textmode=true
column.5.type=iterate
column.5.valueexpression=IF(({plannedCompletionDate}>$$NOW && {plannedCompletionDate}>$$TODAYbw && {plannedCompletionDate}<$$TODAYew && DAYOFWEEK(CLEARTIME({plannedCompletionDate}))=2) || ({plannedCompletionDate}<$$NOW && {plannedCompletionDate}>$$TODAYbw && {plannedCompletionDate}<$$TODAYew && DAYOFWEEK(CLEARTIME({plannedCompletionDate}))=2 && {status} = 'CPL'),{name})
column.5.valueformat=HTML
Views
Replies
Total Likes
Hi @SeanMe1
in theory, you could iterate over the projects' {tasks} collection and display the tasks where isReady=true. However, that's expensive (for each row you have to iterate through all the project's tasks) and will become slow.
My suggestion is to do a TASK report, filter on isReady, sort by project name, and group by project name.
Hi @SeanMe1 - You can get stared with this. Please modify it accordingly
displayname=Upcoming Tasks
listdelimiter=<div>
listmethod=nested(tasks).lists
type=iterate
valueexpression=IF({status}!='CPL',CONCAT("• ",{name}," - ",{plannedCompletionDate}))
valueformat=HTML
Views
Replies
Total Likes
To limit the tasks, you may want to add something like PCD > $$TODAY & PCD <= $$TODAY+14d to the valueexpression.
Views
Replies
Total Likes
Hi @SeanMe1,
Following: this one is familiar to me.
If you're new to iterations, the tips @_Manish_Singh shared are helpful, and a great concept to master. However, as @Sven-iX points out, they are also "expensive", since -- even if conditionally reduced to limit what they show -- they still "hit" everything in the iteration, where a filtered Task report can return a more precise (and therefore faster) set of data.
Another limitation of iterations is that the results cannot be ordered, which (back to why this was familiar for me) was one of the main reasons that led us to develop our Hot Sheet solution, which efficiently distills your upcoming work down to those tasks planned to finish (or overdue) within the next 3, 4, or 5 business days, in logical order, across all projects, by every program within an entire portfolio.
Here's a picture and a video to illustrate, and if you'd like more details, I invite you to contact me via doug.denhoed@atappstore.com.
Regards,
Doug
Views
Replies
Total Likes
I have a report that I call a Hotsheet. It lays out the tasks coming due this week by project in a project report.
Here is an example of "Mondays" text mode code. You could replicate this for each day and have this week's tasks.
column.2.displayname=Monday
column.2.sharecol=true
column.2.textmode=true
column.2.value=<div style="color: #ff0000;"><em>
column.2.valueformat=HTML
column.3.displayname=Monday
column.3.listdelimiter=<div>
column.3.listmethod=nested(tasks).lists
column.3.sharecol=true
column.3.textmode=true
column.3.type=iterate
column.3.valueexpression=IF({plannedCompletionDate}<$$NOW && {plannedCompletionDate}>$$TODAYbw && {plannedCompletionDate}<$$TODAYew && DAYOFWEEK(CLEARTIME({plannedCompletionDate}))=2 && {status} != 'CPL',{name})
column.3.valueformat=HTML
column.4.displayname=
column.4.sharecol=true
column.4.textmode=true
column.4.value=</em></div>
column.4.valueformat=HTML
column.5.displayname=Monday
column.5.listdelimiter=<div>
column.5.listmethod=nested(tasks).lists
column.5.textmode=true
column.5.type=iterate
column.5.valueexpression=IF(({plannedCompletionDate}>$$NOW && {plannedCompletionDate}>$$TODAYbw && {plannedCompletionDate}<$$TODAYew && DAYOFWEEK(CLEARTIME({plannedCompletionDate}))=2) || ({plannedCompletionDate}<$$NOW && {plannedCompletionDate}>$$TODAYbw && {plannedCompletionDate}<$$TODAYew && DAYOFWEEK(CLEARTIME({plannedCompletionDate}))=2 && {status} = 'CPL'),{name})
column.5.valueformat=HTML
Views
Replies
Total Likes
Views
Likes
Replies