Skip to main content
Level 2
Aug 20, 2026 6:36 PM UTC
Solved

Show only 1 Active Milestone in a project report

Hi,

I am currently showing a calculated field of Active Milestone(s) on a project report.  I have had a request to only show the first Milestone that is active if there are more than one.  Could someone help with the syntax for that?   My current syntax to show the active milestones is:

Edit=Text Modedisplayname=Active Milestone(s)listdelimiter=<div>listmethod=nested(tasks).liststype=iteratevalueexpression=IF({project}.{status}='CPL'&&{taskNumber}=1,"Complete",IF({canStart}&&{status}!='CPL'&&!ISBLANK({milestoneID}),{name}))valueformat=HTML

 

Thanks!

Heather

    NicholeVargas
    NicholeVargasAccepted solution
    Adobe Employee
    Sep 3, 2026 10:13 PM UTC

    You could do something like this using templateTaskID, but I encourage you to review the questions that ​@skyehansen posed below regarding multiple active milestones at a time and only showing the first milestone.

    displayname=Specific Milestones
    listdelimiter=<p>
    listmethod=nested(tasks).lists
    type=iterate
    valueexpression=IF({templateTaskID}="aecf4d570693db8fe0539260720a5552",IF(!ISBLANK({milestoneID}),IF({canStart}="true",IF({project}.{status}!="CPL",{name}))))
    valueformat=HTML

    Typically, when I use milestones, I associate predecessors so that only one milestone is active at a time. That way, I can understand what “phase” my project is in with a quick glance. With multiple milestones at once, you will have to be creative with your text mode to show only specific ones - either based on the milestone name, template task it is linked with, etc. 

    5 replies

    NicholeVargas
    Adobe Employee
    Adobe Employee
    Aug 31, 2026 5:53 PM UTC

    By default, text mode collections will show ALL results unless you specify which ones to show in your valueexpression. Think of that as your filter for the column, so you’d want to add to it. 

    Milestones are usually attached to specific template tasks in your project, so if you know which task numbers or task names correspond to the milestones that matter most (say, the earliest one in sequence, or a specific named milestone like "Design Approval"), you can add that as an explicit condition in your valueexpression. 

    Translate
    Level 2
    Aug 31, 2026 6:05 PM UTC

    thank you!  Can you give me an example of how that would look in the value expression?

    Translate
    NicholeVargas
    Adobe Employee
    NicholeVargasAdobe EmployeeAccepted solution
    Adobe Employee
    Sep 3, 2026 10:13 PM UTC

    You could do something like this using templateTaskID, but I encourage you to review the questions that ​@skyehansen posed below regarding multiple active milestones at a time and only showing the first milestone.

    displayname=Specific Milestones
    listdelimiter=<p>
    listmethod=nested(tasks).lists
    type=iterate
    valueexpression=IF({templateTaskID}="aecf4d570693db8fe0539260720a5552",IF(!ISBLANK({milestoneID}),IF({canStart}="true",IF({project}.{status}!="CPL",{name}))))
    valueformat=HTML

    Typically, when I use milestones, I associate predecessors so that only one milestone is active at a time. That way, I can understand what “phase” my project is in with a quick glance. With multiple milestones at once, you will have to be creative with your text mode to show only specific ones - either based on the milestone name, template task it is linked with, etc. 

    Translate
    skyehansen
    Adobe Champion and Community Advisor
    Sep 1, 2026 4:09 AM UTC

    I’m curious about...

     

    • why is there more than 1
      • (is it intentional that multiple milestones are running at any one time,
      • and if so, why are people only interested in the “first” one (I assume that means the earliest one))
    • is the report for any milestone path or is it a specific milestone path,
      • and if so, can you share specifics on it?
    Translate
    JCarrillo
    Adobe Employee
    Adobe Employee
    Oct 20, 2026 11:53 PM UTC

    Thank you.

    Translate