How to build your own project template in Word or PowerPoint?

Modified on Fri, 22 Sep 2023 at 06:33 PM

In this article we will learn how to build a custom project template in Word or PowerPoint. 


How do templates work?


In addition to normal text, templates contain binding elements that are replaced with the values they represent when the template is applied to a project. As the binding elements do not represent a specific project, the same template can be applied to any projects.


Below is an example of a project template. Curly brackets are used to identify binding elements. 

When the template is exported from a project, the binding elements are replaced by the values of the project data they represent. Here is an example of a template output.


The instructions given in this article to build your own templates apply to both Word and PowerPoint templates unless otherwise specified.


Deciding on whether using Word or PowerPoint is therefore entirely your choice and each one has its advantage. 

  • One downside of using PowerPoint templates is that if the content of a slide overflows, the content does not move to the next slide as PowerPoint does not support this feature. You may therefore need to adjust the format of the generated template a little to make the content fit on the slide. 
  • However using PowerPoint template format gives you greater flexibility to export sub projects content as you can see in this article.



General rules when building your own template


  • Templates are built using binding elements that reference specific data attributes.
  • Curly brackets are used to identify binding elements. 
  • The main object names used to retrieve project data include: Project, StatusReportThis, Schedule, Craid, Outgoingdep, Incomingdep, Subproject, Actions, QualitativeBenefit, QuantitativeBenefit, QualitativeCost, QuantitativeCost and ProjectFinancials. 
  • If the object is not a list of items, you can access the properties of this object by appending the name of the property to the object name. For instance, {Project.Name} binding element represents the name of the project the template is run from or {StatusReportThis.Strapline} references the status report strapline.
  • If the object represents a list of items (impacts, schedule tasks, incoming and outgoing dependencies, etc.), a table needs to be used to iterate through the list of items. 
    • The table must have a header row and the first cell of this row must specify the binding element of the object you want to retrieve the data for. For instance, if the table should list all schedule tasks, the first cell of the table needs to start with the {@schedule} binding element. The @ symbol is used to represent the iteration through all schedule items.
    • The next row should specify the properties of the object you want to retrieve. In the example of the schedule table, the biding element {Title} represents the title of the schedule task. Note that in this case there is no need to prefix the property by the object name. 
    • When the template is applied to a project, the table will have a row for each items in the list that is being returned, e.g. a row for each schedule task.
  • You can also apply filters to table elements. As an example, if you want to return only the project's risks and issues that are Amber or Red, you can do so by using the following syntax: {@craid}[^Type=Risk,Issue && Rag=Red,Amber]
    • Square brackets are used to delimit filters and there can be no space between the binding element and the filter.
    • The following operators are supported: =, != , < and > operators. 
    • When filtering on dates, you can compare the date to Today or to any date. The date must be expressed in yyyyMMdd format. For instance, [^DueDate<Today] means that the due date must be earlier than today. [^DueDate>20200518] means that the due date must be after 18 May 2020. 
  • WORD TEMPLATES ONLY
    • Rich Formatting will pull through to word templates. If you would like your word template to pull through the rich formatting you have used in fluid you need to remove the word "Plain" from the binding element and add [RICH] after the binding element. 
    • For e.g. {Project.DescriptionPlain} will return the description in plain format, if you would like your report to pull through the bullet points, bold, font changes then you need to use the following binding element {Project.Description}[RICH]


Once your custom template is ready, you just need to upload it to start using it. Custom templates can either be shared across the application or be made private to a project.

  • For a template to be available on all projects and watchlist pages, it needs to be uploaded under General Settings by a System Administrator
  • Project managers can also use their own templates on specific projects by creating and uploading the template to the Documents section of the Project Workspace. Define the 'document type' of the uploaded template as Dashboard Template. The new template will appear along with all the global reporting templates in the export dialog on the project.



We will explain in the next sections how to export the project data by data type. Just click on the section title if you would like to jump to a specific section. 


1. Exporting project information and meta-data

2. Exporting project status data

3. Exporting project schedule tasks

4. Exporting project impacts

5. Exporting project incoming and outgoing dependencies

6. Exporting project financials

7. Exporting project benefits

8. Exporting project ongoing costs

9. Exporting project actions and decisions


You can also see examples on how to use the binding elements in the templates attached to this article.



 To learn more about exporting data for sub projects and project hierarchy, please refer to this article.





1. Exporting project information and meta-data


  • The object name to use to export the project details and meta-data is Project.
  • The format of the binding element for a project property therefore is {Project.PropertyName


The table below lists the properties that can be used to retrieve the project information.


PropertyBinding Element
Project Title{Project.Name}
Project External Reference{Project.ExternalReference}
Project ID{Project.Id}
Project Short Code{Project.ShortCode}
Project Type{Project.Type}
Project Status{Project.Status}
Project Category{Project.Category}
Project Funding Source{Project.FundingSource}
Project Methodology{Project.Methodology}
Project Start Date{Project.StartDate}
Project End Date{Project.EndDate}
Project Implementation Date{Project.ImplementationDate}
Primary PMs{Project.PrimaryPMs.Name}
Project Owners{Project.Owners.Name}
Project Business Owners{Project.BusinessOwners.Name}
Project Executives{Project.Executives.Name}
Project Portfolio{Project.Portfolio.parentName}
Project Sub Portfolio{Project.SubPortfolio}
Project Funding Source{Project.FundingSource}
Project Cost Centre{Project.CostCentre}
Project Tier{Project.Tier}
Project Custom Property{Project.ExtProperties.CustomPropertyName}
Parent Project{Project.ParentProject.Name}
Program the project belongs to{Project.Program.Name}
Project Description(*){Project.DescriptionPlain}
Project Proposed Solution(*){Project.ProposedSolutionPlain}
Project Requirements(*){Project.RequirementsPlain}

(*)Note that the bindings elements for the project description, proposed solution and requirements return the plain text with no formatting.



Exporting project phases


If you need to export the project phases, you need to use a table to embed the binding elements as each project can have a different number of phases. The first cell of the table must contain {@ActivityPhases} element to indicate that the table should list all phases. Phases only have two properties:

  • {Phase} - the name of the phase
  • {StartMonth} - the month and year the phase starts on. 
  • {EndMonth} - the month and year the phase finishes on.
  • {Order} - the phase order number.


Here is an example on how to export the project phases:



Exporting project custom properties


The syntax to export project custom properties is as follows: {Project.ExtProperties.CustomPropertyName}

As an example, if the name of a custom property is 'Program Delivery Lead', then its corresponding binding element is: {Project.ExtProperties.Program Delivery Lead}.



2. Exporting project status data


You can use the binding elements to retrieve the details of the current status report as well as the previous status report.

  • Prefix the status report properties with {StatusReportThis.-} to retrieve the information of the latest status report
  • Prefix the status report properties with {StatusReportLast.-} to retrieve the information of the previous status report


The table below lists the properties that can be used to retrieve the status report details. The table shows the properties for the current status report but just change the prefix of the binding elements to StatusReportLast if you need the previous status report data.


PropertyBinding Element
Status Report Date{StatusReportThis.ReportDate}
Status Report Current RAG{StatusReportThis.RAGStatus}
Status Report Strapline{StatusReportThis.Strapline}
Status Report Executive Summary{StatusReportThis.ExecutiveSummaryPlain}
Status Report Achievements(*){StatusReportThis.AchievementsPlain}
Status Report Next Steps(*){StatusReportThis.NextStepsPlain}
Status Report Custom Properties{StatusReportThis.ExtProps.CustomPropertyName}
Status Report's Component RAGs commentaries (aggregates the commentaries of component RAGs that have been set to Amber or Red){StatusReportThis.PathToGreenForNonGreenRAGs}

(*)Note that the bindings elements for the status report achievements and next steps return the plain text with no formatting.



Exporting the project status component RAGs


There are two ways of exporting the project status component RAGs.


The first option is to use a table to iterate through the component RAGs. The benefits of using this approach is that you do not have to explicitly name the component RAGs in the binding elements and therefore the template does not need to be updated should the component RAG names change.


When creating a table to export the component RAGs data,

  • the first cell of the header column must start with either {@StatusReportThis.ComponentRags} or {@StatusReportLast.ComponentRags} to indicate that the table should iterate though the current or previous status report component RAG data.
  • any of the below binding elements can then be used.


PropertyBinding Element
Component RAG Name{Key}
Component RAG Status{Value}
Component RAG Strapline{Commentary}
Component RAG Path To Green Date{GreenDate}
Component RAG Owner{Name}
Component RAG Linked Risk/Issue Title{CraidName}
Component RAG Linked Risk/Issue Mitigation{Mitigation}



Here is an example of a table returning component RAG data:


Few things to note in the above example:

  • In the first cell,
    • StatusReportThis indicates that this data should be for the most recent status report.
    • The filter [^Value=Red,Amber] indicates that only component RAGs that are amber or red should be returned.
  • The next row specifies which properties of the component RAGs should be retrieved. 
    • In the case of the RAG value property, it is possible to apply the value as the cell background colour, i.e. display the cell with a red background colour if the RAG is red. To do so, you need to append [BK_COLOR] immediately after the binding element with no space in between, e.g. {Value}[BK_COLOR].



The second option to export the project status component RAGs is to explicitly reference the component RAGs to retrieve their value. For instance, if Financials is one of the project status component RAG, you can retrieve its properties by using {StatusReportThis.ComponentRags.Financials.PropertyName}

The list of properties that can be used is detailed in the table below. Name represents the name of the component RAG. {StatusReportThis} can be replaced by {StatusReportLast} if needed.


PropertyBinding Element
Component RAG Status{StatusReportThis.ComponentRags.Name.Value}
Component RAG Strapline{StatusReportThis.ComponentRags.Name.Commentary}
Component RAG Path To Green Date{StatusReportThis.ComponentRags.Name.GreenDate}
Component RAG Owner{StatusReportThis.ComponentRags.Name.OwnerPerson.Name}
Component RAG Linked Risk/Issue Title{StatusReportThis.ComponentRags.Name.CraidName}
Component RAG Linked Risk/Issue Mitigation{StatusReportThis.ComponentRags.Name.Mitigation}





3. Exporting project schedule tasks


A table must be used to export schedule tasks.

  • The first cell of the table must start with {@Schedule}.
  • The following binding elements can be used to retrieve schedule task data.


PropertyBinding Element
Schedule Task Title{Title}
Schedule Task Short Code{ShortCode}
Schedule Task Type{TaskType}
Schedule Task Description(1){DescriptionPlain}
Schedule Task Start Date{StartDate}
Schedule Task End Date{DueDate}
Schedule Task Alternate Date{AlternateDate}
Schedule Task Priority{Priority}
Schedule Task Status{Status}
Schedule Task Percent Complete{PercentComplete}
Schedule Task Current Status RAG{Rag}
Schedule Task Current Status Strapline{Strapline}
Schedule Task Current Status Date{StatusDate}
Schedule Task Previous Status RAG{PreviousRag.RagStatus}
Schedule Task Previous Status Strapline{PreviousRag.Strapline}
Schedule Task Previous Status Date
{PreviousRag.Created}
Schedule Task status updates (all)(2){AllStatusUpdates}
Schedule Task assignees{Owner.Name}
Schedule task custom properties{ExtProps.CustomPropertyName}
Schedule task document links{AttachedDocumentDetails}
Project the schedule task belongs to{Activity.Name}

(1)This is the plain description with no formatting.
(2){AllStatusUpdates} returns the date and the status update strapline for all status updates. The list is displayed in the reverse chronological order.


Here is an example of a table returning schedule tasks data.



Exporting the Gantt image


You can also include an image of the Gantt chart.


To do so, you need to use the fooling binding element in a table: IMAGE_SCHEDULE. The Gantt image will then render all the schedule tasks that have been set to PROMOTED.


The below images show an example of a template using the image binding element and how it renders when exported from a project.





4. Exporting project impacts


Exporting project impacts is very similar to exporting schedule tasks. A table must be used to iterate through the project impacts.

  • The first cell of the table must start with {@Craid}.
  • The following binding elements can be used to retrieve impact data.


PropertyBinding Element
Impact Title{Title}
Impact Short Code{ShortCode}
Impact Type{Type}
Impact Sub Type{SubType}
Impact Description(1){DescriptionPlain}
Impact Due Date{DueDate}
Impact Resolution Date{ResolutionDate}
Impact Severity{Impact}
Impact Probability{Probability}
Impact Status{Status}
Impact Mitigation(1){MitigationPlain}
Impact current status RAG{Rag}
Impact current status strapline{Strapline}
Impact current status date{StatusDate}
Impact previous status RAG{PreviousRag.Rag}
Impact previous status strapline{PreviousRag.Strapline}
Impact status updates (all)(2){AllStatusUpdates}
Impact owner{Owner.Name}
Impact custom properties{ExtProps.CustomPropertyName}
Impact document links{AttachedDocumentDetails}
Project the Impact belongs to{Activity.Name}

(1)This is the plain description with no formatting.
(2){AllStatusUpdates} returns the date and the status update strapline for all status updates. The list is displayed in the reverse chronological order.

(3) For Impact, Probability & Risk Rating, the label/title that has been defined under Project SetUp will be the name that is used in the binding element


Below is an example of a table returning only risks and issues.



5. Exporting project incoming and outgoing dependencies


A table must again be used to export incoming or outgoing dependencies.

  • The first cell of the table must start with {@OutgoingDep} to iterate though the project outgoing dependencies.
  • Use {@IncomingDep} to iterate though the project incoming dependencies.

The following binding elements can then be used to retrieve the outgoing or incoming dependency properties.


PropertyBinding Element
Dependency Title{Title}
Dependency Short Code{ShortCode}
Dependency Description(1){DescriptionPlain}
Dependency Due Date{DueDate}
Dependency Impact{Impact}
Dependency Status{Status}
Dependency current status RAG{Rag}
Dependency current status strapline{Strapline}
Dependency current status date{StatusDate}
Dependency status updates (all)(2){AllStatusUpdates}
Dependency owner{Owner.Name}
Dependency custom properties{ExtProps.CustomPropertyName}
For Outgoing Dependencies
Project the Dependency belongs to{Activity.Name}
Project the Dependency is on{DependencyOn}
For Incoming Dependencies
Project the Dependency is from{Activity.Name}

(1)This is the plain description with no formatting.
(2){AllStatusUpdates} returns the date and the status update strapline for all status updates. The list is displayed in the reverse chronological order.



The image below gives an example on how to use these properties.




6. Exporting project financials


  • The object name to use to export project financials is ProjectFinancials.
  • The format of the binding element for a project property therefore is {ProjectFinancials.PropertyName

The table below lists each financial value available for extract with the following info for each:

  • Input vs. System: Whether the value is a manually entered value or whether it is a value generated by Fluid based of other input values and configuration.
  • Binding element: The string to use in the reporting template to populate the required value out of Fluid.



PropertyDescriptionInput vs. SystemBinding element

Current Financial YearThe current financial year.Input{ProjectFinancials.CurrentFinancialYearValue}

Current Financial Year StartThe start date of the current financial year.Input{ProjectFinancials.CurrentFinancialYearStartValue}

Current Financial Year EndThe end date of the current financial year.Input{ProjectFinancials.CurrentFinancialYearEndValue}
PROJECT FUNDING
AProject FundingThe overall budget for the project duration. Input{ProjectFinancials.FundingAmountReleasedValue}
BProject Funding (Capex)Capital Expenditure on the overall budget.Input{ProjectFinancials.FundingAmountReleasedCapexValue}
CProject Funding (Opex)Operating Expenses on the overall budget.Input{ProjectFinancials.FundingAmountReleasedOpexValue}
DLife to Date Project FundingBudget released for the project since the project inception up to the end of the current financial year.Input{ProjectFinancials.LifeToDateFundingAmountValue}
ELife to Date Project Funding (Capex)Capital Expenditure on the life to date budget.Input{ProjectFinancials.LifeToDateFundingAmountCapexValue}
FLife to Date Project Funding (Opex)Operating Expenses on the life to date budget.Input{ProjectFinancials.LifeToDateFundingAmountOpexValue}
GCurrent Year Project FundingCurrent financial year budget.Input{ProjectFinancials.CYFundingAmountValue}
HCurrent Year Project Funding (Capex)Capital Expenditure on the current financial year budget.Input{ProjectFinancials.CYFundingAmountCapexValue}
ICurrent Year Project Funding (Opex)Operating Expenses on the current financial year budget.Input{ProjectFinancials.CYFundingAmountOpexValue}
TOTAL PROJECT COST
JLife to Date ActualsSum of the project actuals since the project inception up to the lock date in the current financial year.System{ProjectFinancials.LifeToDateActualsValue}
KLife to Date Actuals (Capex)Capital Expenditure on life to date actuals.System{ProjectFinancials.LifeToDateCapexActualsValue}
LLife to Date Actuals (Opex)Operating Expenses on life to date actuals.System{ProjectFinancials.LifeToDateOpexActualsValue}
MPrior Year ActualsSum of actuals since the project inception up to the start of the current financial year.System{ProjectFinancials.PriorYearActualsValue}
NFuture Years ForecastForecast amount from the end of the current financial year up to the end of the project.System{ProjectFinancials.FutureYearsForecastValue}
OEstimated Project Cost at completionLife to Date Actuals (J) + Current Year Forecast (Y) + Future Years Forecast (N).System{ProjectFinancials.TotalProjectEACValue}
PRemaining budgetProject Funding (A) - Life to Date Actuals (J).System{ProjectFinancials.FullFundingVFullActualsValue}
QRemaining budget (Capex)Project Funding (Capex) (B) - Life to Date Actuals (Capex) (K).System{ProjectFinancials.FullFundingVFullCapexActualsValue}
RRemaining Budget (Opex)Project Funding (Opex) (C) - Life to Date Actuals (Opex) (L).System{ProjectFinancials.FullFundingVFullOpexActualsValue}
SPercentage of budget spentLife to Date Actuals (J) / Life to Date Project Funding (D)System{ProjectFinancials.FundingSpentPercentValue}
TPercentage of budget spent (Capex)Life to Date Actuals (Capex) (K) / Life to Date Project Funding (Capex) (E)System{ProjectFinancials.FundingSpentPercentCapexValue}
UPercentage of budget spent (Opex)Life to Date Actuals (Opex) (L) / Life to Date Project Funding (Opex) (F)System{ProjectFinancials.FundingSpentPercentOpexValue}
CURRENT FINANCIAL YEAR PROJECT COST
VCurrent Year Approved ForecastThe amount formally approved to be spent on the project in the current financial year.Input{ProjectFinancials.CYApprovedForecastValue}
WCurrent Year ActualsActuals for the current financial year up to the lock date.System{ProjectFinancials.YTDCashActualValue}
XCurrent Year Actuals (Capex)Capital Expenditure on current year actuals.System{ProjectFinancials.YTDCapActualValue}
YCurrent Year Actuals (Opex)Operating Expenses on current year actuals.System{ProjectFinancials.YTDOpexActualValue}
ZCurrent Year ForecastSum of project forecast for all open months in current financial year.System{ProjectFinancials.ROYCashForecastValue}
AACurrent Year Forecast (Capex)Capital Expenditure on current year forecast.System{ProjectFinancials.ROYCapForecastValue}
ABFull Year ForecastCurrent Year Actuals (W) + Current Year Forecast (Z).System{ProjectFinancials.CYCashEACValue}
ACFull Year Forecast (Capex)Current Year Actuals (Capex) (X) + Current Year Forecast (Capex) (AA).System{ProjectFinancials.CYCapEACValue}
ADCurrent Year Capex PercentageThe percentage of capex amount.System{ProjectFinancials.TotalCapPercentFYValue}
AECurrent Year Amort ActualsAmortisation amount based on current year actuals (W).System{ProjectFinancials.YTDAmortActualValue}
AFCurrent Year Remaining Amort ForecastAmortisation amount based on current year actuals (Z).System{ProjectFinancials.ROYAmortForecastValue}
AGFull Year Amort ForecastCurrent Year Amort Actuals (AE) + Current Year Amort Forecast (AF).System{ProjectFinancials.CYAmortEACValue}
AHCurrent Year Project ExpenseCurrent Year Actuals (W) - Current Year Actuals (Capex)(X).System{ProjectFinancials.YTDProjectExpActualValue}
AICurrent Year Remaining Net Cost ForecastCurrent Year Forecast (Z) - Current Year Forecast (Capex) (AA).System{ProjectFinancials.ROYProjectExpForecastValue}
AJCurrent Year Net Cost Expected at CompletionFull Year Forecast (AB) less Full Year Forecast (Capex) (AC).System{ProjectFinancials.CYProjectExpEACValue}
PROFIT & LOSS
AKCurrent Year P&L ActualsCurrent Year Actuals (W) - Current Year Actuals (Capex)(X) + Current Year Amort Actuals (AE).System{ProjectFinancials.YTDPandLActualValue}
ALCurrent Year P&L ForecastCurrent Year Forecast (Z) - Current Year Forecast (Capex)(AA) +  Current Year Remaining Amort Forecast (AF).System{ProjectFinancials.ROYPandLForecastValue}
AMCurrent Year P&L Full Year ForecastFull Year Forecast (AB) - Full Year Forecast (Capex)(AC) + Full Year Amort Forecast (AG).System{ProjectFinancials.CYPandLExpEACValue}
CURRENCY

Default currencyFinancials default currencyInput{ProjectFinancials.CurrencyCode}



Below is an example on how to export project financials data.




7. Exporting project benefits


You can export both quantitative and qualitative benefits. To do so, you need to use separate tables with the following elements:

  • {@QualitativeBenefit} to display the list of qualitative benefits.
  • {@QuantitativeBenefit} to display the list of quantitative benefits.


The list of benefit properties that can be exported are listed in the table below.


PropertyBinding Element
Benefit Title{Title}
Benefit Id{Id}
Benefit Type (quantitative or qualitative){Type}
Benefit Sub Type{SubType}
Benefit Description(*){DescriptionPlain}
Benefit Start Date{StartDate}
Benefit current status RAG{RagStatus}
Benefit current status strapline{Strapline}
Benefit owner{Owner.Name}
Benefit Owner Status{OwnerStatus}
Benefit custom properties{ExtProperties.CustomPropertyName}
For Quantitative Benefits
Quantitative Benefit Year 0{DataYearWise.0.Year}
Quantitative Benefit Year 0 Amount{DataYearWise.0.Value}
Quantitative Benefit Year 1{DataYearWise.1.Year}
Quantitative Benefit Year 1 Amount{DataYearWise.1.Value}
Quantitative Benefit Year 2{DataYearWise.2.Year}
Quantitative Benefit Year 2 Amount{DataYearWise.2.Value}
Quantitative Benefit Year 3{DataYearWise.3.Year}
Quantitative Benefit Year 3 Amount{DataYearWise.3.Value}
Quantitative Benefit Year 4{DataYearWise.4.Year}
Quantitative Benefit Year 4 Amount{DataYearWise.4.Value}
Quantitative Benefit Year 5{DataYearWise.5.Year}
Quantitative Benefit Year 5 Amount{DataYearWise.5.Value}
Quantitative Benefit Total Amount{TotalValue}

(*)This is the plain description with no formatting.



You can see examples on how to export qualitative and quantitative benefits below.




8. Exporting project ongoing costs


Exporting ongoing costs works in the same as as exporting benefits. You need to use separate tables with the following elements:


  • {@QualitativeCost} to display the list of qualitative ongoing costs.
  • {@QuantitativeCost} to display the list of quantitative ongoing costs.


The list of ongoing costs properties that can be exported are listed in the table below.


PropertyBinding Element
Ongoing Cost Title{Title}
Ongoing Cost Id{Id}
Ongoing Cost Type (quantitative or qualitative){Type}
Ongoing Cost Sub Type{SubType}
Ongoing Cost Description(*){DescriptionPlain}
Ongoing Cost Start Date{StartDate}
Ongoing Cost current status RAG{RagStatus}
Ongoing Cost current status strapline{Strapline}
Ongoing Cost owner{Owner.Name}
Ongoing Cost Owner Status{OwnerStatus}
Ongoing Cost custom properties{ExtProperties.CustomPropertyName}
For Quantitative Ongoing Costs
Quantitative Ongoing Cost Year 0{DataYearWise.0.Year}
Quantitative Ongoing Cost Year 0 Amount{DataYearWise.0.Value}
Quantitative Ongoing Cost Year 1{DataYearWise.1.Year}
Quantitative Ongoing Cost Year 1 Amount{DataYearWise.1.Value}
Quantitative Ongoing Cost Year 2{DataYearWise.2.Year}
Quantitative Ongoing Cost Year 2 Amount{DataYearWise.2.Value}
Quantitative Ongoing Cost Year 3{DataYearWise.3.Year}
Quantitative Ongoing Cost Year 3 Amount{DataYearWise.3.Value}
Quantitative Ongoing Cost Year 4{DataYearWise.4.Year}
Quantitative Ongoing Cost Year 4 Amount{DataYearWise.4.Value}
Quantitative Ongoing Cost Year 5{DataYearWise.5.Year}
Quantitative Ongoing Cost Year 5 Amount{DataYearWise.5.Value}
Quantitative Ongoing Cost Total Amount{TotalValue}

(*)This is the plain description with no formatting.




9. Exporting project actions and decisions


The complexity in exporting action and decision data is due to the varying number of assignees actions and decisions may have. Actions and decisions are represented differently depending on whether they have one or more assignees and therefore different binding elements need to be used.


As it is not possible to filter actions and decision based on their number of assignees, the table used to return action data must support both types of actions and decisions if you want to export the assignee names and the action or design status.


Let's first look at the binding elements that can be used for actions and decisions.


PropertyBinding Element
Action / Decision Title{Title}
Action / Decision Id{Id}
Action / Decision ShortCode{ShortCode}
Action / Decision Type  {Type}
Action / Decision Description(*){DescriptionPlain}
Action / Decision Due Date{DueDate}
Action / Decision Priority{Priority}
Action / Decision current status RAG{ItemLatestStatus.Rag}
Action / Decision current status strapline{ItemLatestStatus.Strapline}
Action / Decision current status date{ItemLatestStatus.StatusDate}
Action  document links{AttachedDocumentDetails}
For action and decision with a single assignee
Action / Decision Assignee{AssignedTo.Name}
Action / Decision Status{Status}
Action / Decision Response(*){ResponseCommentPlain}
For action and decision with multiple assignees
Action / Decision Assignee{Children.AssignedTo}
Action / Decision Status{Children.Status}
Action / Decision Response(*){Children.ResponseCommentPlain}

(*)This is the plain description with no formatting.



Now let's look at how to build a table that returns decisions with the list of assignees and the response of each assignee.


The following examples of how the tables are built to return decisions apply Word & PowerPoint templates. 


  • Word template



  • PowerPoint template




Few points to notice in the above examples:

  • Elements in the first cell of the header row:
    • The first cell of the header row starts with {@actions} to indicate that the table should return actions and decisions data. 
    • The filter element [^Type=Decision] then indicates that only decisions should be exported.
    • Finally, [SubRow] element needs to be added to indicate that the decision assignee and response should be returned.
  • The columns containing the assignee names, status and response must be consecutive and the cells need to be split in two rows.
    • The order of these columns does not matter but the fist column must indicate how many columns are used to return assignee data. In the above example, [SplitRow=3] indicates that the next three columns are used to export the response of the decision assignees. If you decided to return only the assignee name and status, then you would need to specify [SplitRow=2].
    • You then need to use the binding elements for both single assignee and multiple assignee actions as highlighted in blue and green in the above example.
    • Finally, {} on the second row indicates where rows will be inserted in the case of multiple assignees. This final step only applies for Word Templates. 





The image below shows an example of how the decision data is exported using the above template.





Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select atleast one of the reasons

Feedback sent

We appreciate your effort and will try to fix the article