AtTask Advanced Reporting Programming Command
AtTask Advanced Reporting Programming Command
ADVANCED REPORTING
Instructional Guide
Instructional Guide
I S
N OW
We outgrew our name. As a significant player in the Enterprise SaaS world, we provided so much
more than the word task in our name implied. After lots of research, polling, brainstorming, and
refining, were proud to announce our new brand.
Workfront: new name, same powerful enterprise work management.
Over the coming months, you will notice all AtTask branded elements (product screenshots,
graphics, etc.) change to reflect the new Workfront brand. Please be patient as this change occurs.
For more information on the name change, see:
http://www.workfront.com/attask-is-now-workfront/
INTRODUCTION
This workbook is designed to teach you the advanced reporting features of your Workfront system.
You are encouraged to take notes and record any aha moments you want to remember as you
progress through the course.
How to Get the Most From This Course
Your instructor will guide you through the course objectives and will provide examples throughout
the course. Follow along as the instructor demonstrates Workfront using practical examples.
efrain from distractions. It is best to find a quiet workspace where you can focus your attention
R
fully on the course.
ait until the instructor gives you directions to begin the hands-on exercises. Once you
W
understand the concepts, you will be able to complete the exercises.
Scenario/Simulation
At the end of each chapter, you will have the opportunity to practice what has been taught in a
simulated environment. It is recommended you complete all exercises to allow the instructor to
see if there are concepts that need to be discussed further.
he scenarios present a possible real life use case that relates to the topic discussed in the
T
chapter. Instruction for the course will follow these scenarios.
Instructional Guide
TABLE OF CONTENTS
CHAPTER 1: REPORTING REVIEW
Reporting Terms and Definitions
Creating Reports
OR Qualifier
6
8
10
12
15
16
17
23
24
25
26
27
29
32
33
35
39
40
42
43
44
45
47
48
Instructional Guide
49
50
51
52
53
54
55
56
57
59
60
64
65
66
67
69
70
74
75
78
79
84
88
92
93
95
96
98
100
102
APPENDIX 105
Custom Forms
108
Customizing Icons
110
CHAPTER 1
REPORTING REVIEW
OBJECTIVES
After completing this chapter, you will be able to:
Create Reports
Utilize OR Statements
Instructional Guide
Instructional Guide
Instructional Guide
Instructional Guide
Creating Reports
The Workfront Report Creation course teaches that a filter controls
the results listed in a report. The view dictates the columns shown
across the top of the report. Groupings are used to organize
the results based on a common attribute(s). These are the basic
elements of a report.
The first step to creating a report is to identify the reporting
elements needed, especially any custom view, filter, and/or
grouping.
Instructional Guide
10
Create a Report
1. Navigate to Reporting in the Global Navigation bar. Select the
Reports tab.
2. Using the New Report button, identify what type of report is
choose Priority.
6. Select the Filters tab, click Apply an Existing Filter, and choose
Incomplete Tasks.
7. Navigate to Report Settings in the top right corner to define the
Instructional Guide
11
OR Qualifier
Each line in a filter is treated as an AND condition. However, it is
possible to include or clauses to make your reports return results
that meet one of several conditions.
The OR option is used to minimize the number of reports that have
to be distributed to other users.
OR statements can only be used with a filter. For example, combine
the filters used for the following reports:
My Upcoming Tasks
Instructional Guide
12
OR Qualifier (continued)
In this example, lets create a filter that searches for incomplete
tasks on current projects that are either assigned to me or
unassigned in my job role.
Create an Or Statement
1. From the Reporting area menu, select an existing Task Report.
2. Create a new Filter, and name the filter (e.g. Incomplete tasks/
Job role).
3. Select the Percent Complete field name, select the Not Equal
Current.
6. Add a new Filter Rule.
7. Select the Assigned To field source, select the ID field name,
Instructional Guide
13
OR Qualifier (continued)
10. Add a new Filter rule.
11. Select Project Status, use the Equal qualifier, and input
Current.
12. Add a New Filter rule.
13. Select the Assigned To field source, select the ID field name,
input $$USER.roleID.
15. Click the AND after the third filter (Assigned to ID) and switch it
to OR.
16. Save when finished.
LIMITATIONS
Instructional Guide
14
CHAPTER 2
ADVANCED FILTERS
OBJECTIVES
After completing this chapter, you will be able to:
Instructional Guide
15
Instructional Guide
16
API Explorer
The API Explorer is likely the most critical reference source used in
learning how to write text mode statements.
A text mode statement is the Workfront syntax used to create
custom filters. The tables are a comprehensive list of fields for each
object and the relationships between objects that can be used
when inputting filter criteria.
Each object is displayed in a table, and each table is divided into
five sections:
Actions
Collections
Fields
References
Search
Instructional Guide
17
actions
Conducts a sequence of mini events. Not used in reporting. Used for integrating products.
collections
fields
references
Display links to other tables that the object is related to. Displays one-to-one relationships.
search
Lists aliases that have been created to simplify queries. With filters, you can only reference
objects that are one object away. So, the Search section provides mappings for relationships that
are several objects away.
Instructional Guide
18
Instructional Guide
19
Instructional Guide
20
Instructional Guide
21
Instructional Guide
22
Data Types
Data Types are used in the API Explorer. The following table provides
some data type examples. These are also used in Text Mode.
Description
Example
Integer
A whole number
numberOfOpenIssues=1
Boolean
isCritical=true.
String
A word or phrase
name=Project XYZ
Double
percentComplete=100.00
Date
A calendar date
plannedCompletionDate=05/24/2010
Bean
enteredBy:lastName=Smith
In this case, you may be using a task query. The
enteredBy attribute references the user object.
The lastName attribute of the user object is Smith.
Instructional Guide
23
Variation In Verbiage
When working with the API Explorer, notice that some field camel
cases dont match the Field Labels.
This is true when working with Planned and Actual Hours in
Workfront. These terms are referenced as workRequired. It is
important that any time you are referencing these items in text
mode, do so using workRequired and not Planned Hours.
The table indicates how these fields are viewed in the interface
builder versus how they are viewed by the database.
Found in Database
Planned Hours
workRequired
Actual Hours
actualWorkRequired
originalWorkRequired
numberOpenOpTasks
Instructional Guide
24
Example
name=Task ABC
percentComplete=0
taskConstraint=ASAP
durationType=A
Instructional Guide
25
Instructional Guide
26
Task table.
5. Locate the field camel case for Number of Children, copy it, and
Instructional Guide
27
Task table.
5. Locate the field camel case for Status, copy it, and paste it into
Values find the New value. Copy and paste this after the equal
sign in your text mode Filter.
8. Click the Save + Close button.
9. Name the report New Tasks.
Instructional Guide
28
AND Statements
The AND option is usually employed to minimize the number of
reports that have to be distributed to other users. For example,
combine the filters used for the following reports:
My Upcoming Tasks
AND
Instructional Guide
29
Green
technolog.
3. Click Switch to text mode.
4. Copy the filter text and paste it twice.
5. In front of one of the copied conditions, insert AND:1: on both
lines.
6. Change the criteria to industr.
7. In front of the other copied condition, insert AND:2 on both
lines.
8. Change the criteria to green.
9. Save Filter.
Instructional Guide
30
Instructional Guide
31
Using Qualifiers
Users do not always search for a discrete value; rather, they search
for a range of possible values. Within the interface they have the
ability to use qualifiers such as greater than, less than, between,
contains, etc.
To use a qualifier hit return and input the field label followed by
_Mod= and the qualifier. For example, to search for tasks where
the percentage complete is less than 50% you could use:
percentComplete=50
percentComplete_Mod=lt
The table displays the qualifier options, the text mode syntax to
reference each modifier, and an example.
Qualifier
Equal
eq
hours=5
hours_Mod=eq
Not Equal
ne
hours=5
hours_Mod=ne
In
in
priority=1,2,3
priority_Mod=in
Not In
notin
priority=1,2,3
priority_Mod=notin
Between
between
workRequired=5
workRequired_Mod=between
workRequired_Range=10
Not Between
notbetween
workRequired=5
workRequired_Mod=notbetween
workRequired_Range=10
Less Than
lt
hours=5
hours_Mod=lt
Less Than/Equal
lte
hours=5
hours_Mod=lte
Greater Than
gt
hours=5
hours_Mod=gt
Instructional Guide
hours=5
hours_Mod=gte
32
Example
Contains
contains
name=Proj
name_Mod=contains
notcontains
name=Proj
name_Mod=notcontains
Equal
eq
name=Project XYZ
name_Mod=eq
or name=Project XYZ
Not Equal
ne
name=Project XYZ
name_Mod=ne
Null
isnull
actualCompletionDate=0
actualCompletionDate_Mod=isnull
Not Null
notnull
actualCompletionDate=0
actualCompletionDate_Mod=notnull
Like
like
description=%important%meeting%
description_Mod=like
or for single character replacement use a ?
description=%important?meeting%
description_Mod=like
In
in
status=CUR,PLN,APR
status_Mod=in
Not In
notin
status=CUR,PLN,APR
status_Mod=notin
Instructional Guide
33
Example
Blank
isblank
actualCompletionDate=0
actualCompletionDate_Mod=isblank
Not Blank
notblank
actualCompletionDate=0
actualCompletionDate_Mod=notblank
Sounds Like
soundex
name=their
name_Mod=soundex
This is the same as searching for their, there,
theyre, and several other similar words.
Contains (case
insensitive)
cicontains
name=Proj
name_Mod=cicontains
cinotcontains
name=Proj
name_Mod=cinotcontains
Equal (case
insensitive)
cieq
name=project xyz
name_Mod=cieq
cine
name=project xyz
name_Mod=cine
Instructional Guide
34
Introduction to Qualifiers
reate a report to show tasks with more than 10 Actual Hours
C
reported on them.
1. From the Reporting area, create a Task Report.
2. Click the Filters tab. Switch to text mode.
3. Go to the API Explorer, and find the task table.
4. Find the field camel case for Actual Hours on a task.
5. Copy/paste or input the field camel case into your text mode
an Existing View.
8. Click the Save + Close button. Name the report Tasks with
NOTE
The Work Breakdown view shows actual hours. Actual Hours
has a field camel case of actualWorkRequired and Planned
Hours has a field camel case of workRequired. Both these
values are stored in minutes.
Instructional Guide
35
Belonging to Tasks.
Instructional Guide
36
Instructional Guide
37
paste or input the field camel case into your text mode filter.
Add =3. This specifies one end of your range.
6. Add the qualifier between.
7. Now add _Range to your field camel case and add =6 after it.
This specifies the other end of your range. Your text mode code
should look like this:
numberOpenOpTasks=3
numberOpenOpTasks_Mod=between
numberOpenOpTasks_Range=6
8. Click Done to save your text mode code.
9. Click the Save + Close button. Name the report Projects with 3
to 6 Open Issues.
Instructional Guide
38
Date-Based Wildcards
Date wildcards can be combined with the attribute q, h, d, w,
m, and y for calendar quarter, hour, day, week, month, year
respectively.
Project
Task
$$NOW
This wildcard looks at the date and time as of right now. This
option is used in combination with any date filter attribute.
For example, if you want to display all hour entries provided
up to the current time, you can do this by using the following
expression: Planned Start Date < $$NOW. This is preferred
over defining a filter and using the actual current date and
time. That way each time the filter runs, you wont have to
modify it. $$NOW is equal the current date and time.
$$TODAY
Instructional Guide
39
User-Based Variables
Description
$$USER.ID
$$USER.name
$$USER.homeGroupID
Instructional Guide
40
Description
$$USER.categoryID
he $$USER.categoryID variable identifies the custom data category associated with the logged in users profile and returns
T
the ID number of the category.
$$USER.accessLevelID
The $$USER.accessLevelID variable identifies the access level associated with the logged in users profile and returns the
ID number of the access level.
$$USER.companyID
The $$USER.companyID variable identifies the company associated with the logged-in users profile and returns the ID
number of the company.
$$USER.customerID
The $$USER.customerID variable identifies the customer account ID associated with your environment. This variable is
unique because it is typically only used when building integrations through the API.
$$USER.otherGroupIDs
The $$USER.otherGroupIDs variable returns an array of all of the groups ID values associated with the logged-in users
profile. The use cases for this variable are similar to the $$USER.homeGroupID option, except the results would only display
work across all groups the manager belongs to.
$$USER.roleID
he $$USER.roleID variable returns the logged in users default role assignment. This allows you to report on tasks or issues
T
assigned to a default job role. $$USER.roleIDs provides an array of the logged-in users role assignments, allowing you to
create filters that return results associated with all of the logged-in users role associations. If a user has job roles defined
beyond his/her default job role, this variable returns the values of those additional roles. You can use those values to find all
of the logged-in users role associations.
$$USER.roleIDs
If a user has job roles defined beyond his/her default job role, this variable returns the values of those additional roles. You
can use those values to find all of the logged in users role associations.
Instructional Guide
41
Before Today.
Sometimes you need to search for numeric values and dates based
on a range of values. This can be done by substituting the _Mod
with _Range to specify a second value. For example, you might
search for all tasks with a planned completion date between
January 1, 2012, and February 28, 2012. This can be done using the
following statement:
plannedCompletionDate=01/01/2012
plannedCompletionDate_Range=02/28/2012
Instead of using fixed dates to show tasks between January 1,
20XX, and February 28, 20XX, it may be more beneficial to display
tasks through a wildcard range. The statement to display the tasks
due to start in the this quarter may look like this:
plannedStartDate=$$TODAYbq
plannedStartDate_Range=$$TODAYeq
Instructional Guide
42
in My Roles.
NOTE
This report shows all unassigned tasks associated with one of
the logged in users Primary and Other job roles.
Instructional Guide
43
NOTE
It is permissible to filter on several attributes or field labels in a
single text mode filter. In this case, each line break is treated as
an AND condition, meaning all the conditions must be met for
an item to be included in the results.
Instructional Guide
44
reference name for Group from the References tab and copy it.
5. Click the link to the Group table and find the Name field.
6. Copy/paste or input the reference name and field camel case
IT Group.
Instructional Guide
45
project:progressStatus=LT,RK,BH
project:progressStatus_Mod=in
7. Click the Save + Close button. Name the report Tasks on Late,
Instructional Guide
46
Custom Prompts
Utilize text mode syntax when building prompts on a report to build
custom dropdown fields. The custom filter dropdown on the prompt
screen allows for multiple conditions to be applied in a single field.
The last option in the Report Settings dropdown is Custom
Prompts. The Custom Prompts option defines a custom list of
dropdown prompts for the report.
The options that appear in the Prompts screen are defined in the
dropdown Item Label field, and the logic behind each label is input
into the Condition field.
NOTE
The condition for each option is written in text mode syntax.
Instead of hard returns in the text-box, identify line breaks using
an ampersand (&).
Instructional Guide
47
For each of these options we assume the projects are in the Idea,
Requested, Planning, or Current statuses.
1. From the Reporting area, create a task report.
Label
Condition
All Future
Projects
project:plannedCompletionDate=$$TODAY&
project:plannedCompletionDate_Mod=gte&
project:status=IDA,REQ,APR,PLN,CUR&project:status_Mod=in
project:plannedCompletionDate=$$TODAY&
project:plannedCompletionDate_Mod=lt&
project:status=IDA,REQ,APR,PLN,CUR&project:status_Mod=in
Projects Due
This Month
project:plannedCompletionDate=$$TODAYbm&project:
plannedCompletionDate_Range=$$TODAYem&project:status=
IDA,REQ,APR,PLN,CUR&project:status_Mod=in
Projects Due
Next Month
project:plannedCompletionDate=$$TODAYb+1m&project:
plannedCompletionDate_Range=$$TODAYe+1m&project:status=
IDA,REQ,APR,PLN,CUR&project:status_Mod=in
corner.
4. Select the Add a Prompt button and Custom Prompt from the
Quick Filters.
6. In the Dropdown Item Label field put the name of each prompt
Instructional Guide
48
CHAPTER 3
ADVANCED VIEWS
OBJECTIVES
After completing this chapter, you will be able to:
Instructional Guide
49
Instructional Guide
50
Instructional Guide
51
Description
descriptionkey=
- or description=
This line defines the text of a tool tip as you hover over the name of the column.
In this case it is using a key to translate the name value in the description text. If you want to modify the description, change
this line to read:
description=Your Value
namekey=
- or name=
querysort=
This line defines how the results are sorted when the column header is clicked. If it is not present then the column cannot be
sorted after the report is run.
valuefield=
This line represents the text displayed in the results under the column header. The attribute input for the valuefield is the
same used in a filter statement.
valueformat=
This line represents the format used to display the text, number, or date.
name=
This is the field pulled from the database and displayed in the results of a search list or report.
Instructional Guide
52
Instructional Guide
53
Instructional Guide
54
Code label.
5. Go to the Workfront view menu in the report header on the My
Tasks report.
6. Select New View and call the view Parent Task x 4.
7. In the preview area, click the name of the first column.
8. Switch to text mode and delete the current text in the box.
9. Paste the text from your clipboard into the text area.
10. Click Done to save the text mode code.
11. Click Save View button when done.
Instructional Guide
55
Shared Columns
The shared column is a view attribute that allows for the
combination of multiple data points under the same column header.
This section shows examples of how this is used in views provided
in Workfront and demonstrates how to build shared column views.
Instructional Guide
56
value for the column, drag it and place it between the Name
and the Owner columns. This placeholder column is used to
stack the values.
4. Switch to text mode in this blank column and insert the
Instructional Guide
57
lines:
valueformat=HTML
value=<br>
width=1
sharecol=true
5. Click the Task Name column and Switch to text mode. Insert a
Instructional Guide
58
Cross-Object References
Cross-Object References allow for the expanding of views through
text mode.
One question that may be presented is, Why cant we find all
related fields mapped out in the View Builder? This is because the
builder contains most of the primary relationships, but if everything
was mapped, the builder would be cluttered. This is where the text
mode interface comes in to play.
Remember, the API Explorer is a great tool for referencing and
locating related fields. It contains a list of fields for each object and
the relationships between them, which can be used when inputting
the view fields. For example, the fields section of the API Explorer
contains object tables of all listed fields and their associated camel
case values. You can then use the References tab on any of these
tables to refer to fields in other object types to expand what you
see in your report. Keep in mind that when referencing other object
types in Workfront, you can reference only one other table on a
filter. Views and groupings allow you to reference more object
tables, but depending on the table you start from, you are limited as
to the number of references you can make.
When referencing fields from other tables, you should create
the view in the standard builder interface first to get as close as
possible to the intended outcome and then make adjustments for
your references. To do this, insert placeholder columns where you
want to include data that cannot be accessed through the builder.
Instructional Guide
59
text mode.
3. Navigate to the API Explorer site in a separate browser tab and
search for the Project table. Click on the References tab to refer
to other tables.
4. In text mode on your Project Name column, change the
Instructional Guide
60
Task: Name
Project: Name
Company: Name
Instructional Guide
61
valuefield=project:name
querysort=project:name
displayname=
To this:
valuefield=project:company:name
querysort=project:company:name
displayname=Company
7. Click the Done button to save the text mode code for the
Instructional Guide
62
Instructional Guide
63
Custom Form.
2. Select the object type where the custom form will be applied.
3. Select existing custom fields to add to your form, or create and
Instructional Guide
64
calculation.
5. Select Planned Hours from the Fields box to add it to the
+ Close button
Instructional Guide
65
append the word Hours to the initial calculation and close the
CONCAT() expression. Your calculation should look like this:
CONCAT((Planned Hours-Actual Hours)/60," Hours")
Instructional Guide
66
Instructional Guide
67
Instructional Guide
68
Object and
Attribute
Text Mode
References
Custom Data
References
Project Name
project:name
Project.Name
Group Name
group:name
Group.Name
Company Name
project:company:name Project.Company.Name
(Filter/View)
Instructional Guide
69
Project Work.
5. Change the format field to number.
6. Locate the Expressions Field and choose the Mathematical
dropdown.
7. Select DIV. A formula appears in the Calculation area. This is
Additional Task Information. Click the group and then Save and
Close.
Instructional Guide
70
ROUND(number[, precision])
Instructional Guide
71
calculation uses.
7. Add a comma at the end of the formula and the number to
Instructional Guide
72
PRACTICE EXERCISES
1. Write the Calculated Custom Data expressions for the following
prompts:
*Assume that you have created a custom data field on the users
profile called Hire Date and use the $$TODAY wildcard.
Instructional Guide
73
Calculated Columns
The custom value is set by creating a placeholder, changing the
valuefield to valueexpression, and then inserting the expression.
Formatting for the column is also set in the valueexpression
statement. Using the expressions provided in earlier tables,
statements can be made to set the columns format to the
desired display. To ensure your format displays correctly, modify
valueformat to = HTML. This ensures the greatest chance your
format displays as intended.
Instructional Guide
Custom Data
Calculated View
Planned Hours
workRequired
workRequired
Actual Hours
actualWorkRequired
{actualWorkRequired}
Project.Duration
project:duration
{project}.{duration}
74
the view.
2. Add a new column in the type ahead, enter Planned Hours.
3. Select the Planned Hours column, and switch to text mode.
4. Change valuefield to valueexpression. Insert the following
becomes a percentage.
Instructional Guide
75
% of Work.
8. To create a visual reminder that this view is a percentage value,
NOTE
Generally, you want to remove the querysort column. This line
determines which field the column sorts on when you click the
column header. It is suggested you remove this ability to reduce
confusion for users accessing data.
Because you can only sort on stored values, you do not want
to provide the option to sort on only one of the components
making up the calculation. The results will be reorganized, but
not necessarily according to what is being displayed.
Instructional Guide
76
PRACTICE EXERCISES
1. Practice writing the Calculated Column Value expressions for
*Assume that you have created a custom data field on the users
profiles called Hire Date and use the $$TODAY wildcard.
Instructional Guide
77
If you do not plan to aggregate the data beyond the initial view setup
(data can only be aggregated once).
To further aggregate the data beyond the initial data setup.
Okay with once-a-day updates.
Keep in mind that calculated custom data has the potential to become stale if certain conditions are present. For example, native fields like Work Required
or Actual Work Required can be modified without editing a task directly. If a custom data calculation using these fields has been made on the task itself, the
calculation will not update as changes are made to those fields. Additionally, native fields that are tied to calculated custom data may not update instantaneously
as custom fields are not updated nightly. Calculated views are always fresh, because the calculation is made when the report is run or when the view is applied.
Instructional Guide
78
Example
Description
ADDDAYS
ADDDAYS(date, number)
ADDMONTHS
ADDMONTHS(date, number)
ADDYEARS
ADDYEARS(date, number)
CLEARTIME
CLEARTIME(date)
DATE
DATE(string)
DMAX
DMAX(date1, date2{,.....})
DMIN
DMIN(date1, date2{,...})
DATEDIFF
DATEDIFF(date1, date2)
WEEKDAYDIFF
WEEKDAYDIFF(date1, date2)
WORKMINUTESDIFF
WORKMINUTESDIFF(date1, date2)
Returns the number of scheduled minutes between the dates according to the default
schedule.
DAYSINYEAR
DAYSINYEAR(date)
DAYSINMONTH
DAYSINMONTH(date)
DAYSINSPLITWEEK
DAYSINSPLITWEEK
Returns the total weekdays between the date and the end of the week or the end of
the month, whichever comes first.
YEAR
YEAR(date)
Instructional Guide
79
Example
Description
MONTH
MONTH(date)
DAYOFMONTH
DAYOFMONTH
Returns the day of the month for the given date as a number. The first day of the
month has a value of 1.
DAYOFWEEK
DAYOFWEEK(date)
Returns the day of the week for the given date as a number between 1 (Sunday) and 7
(Saturday).
HOUR
HOUR(date)
Returns the hour of the given date as a number between 0 and 23.
MINUTE
MINUTE(date)
SECOND
SECOND(date)
Instructional Guide
80
Example
Description
ABS
ABS(number)
AVERAGE
CEIL
CEIL(number)
DIV
FLOOR
FLOOR(number)
LN
LN(number)
LOG
MAX
MIN
NUMBER
NUMBER(string)
POWER
PROD
ROUND
ROUND(number[, precision])
SQRT
SQRT(number)
SUB
SUM
Instructional Guide
81
Example
Description
CONCAT
LEFT
LEFT(string, length)
Returns a specified number of characters from the left side of the string.
LEN
LEN(string)
LOWER
LOWER(string)
REPLACE
RIGHT
RIGHT(sting, lenght)
Returns a specified number of characters from the right side of the string.
STRING
STRING(number[, precision])
SUBSTR
SUBSTR(string,start[, end])
Returns characters of a string based on the start and end index specified.
CONTAINS
CONTAINS(findText, withinText)
Returns true if the findText string is found within the withinText string.
SEARCH
SEARCH(findText, withinText[start])
Returns the index of the first occurrence of the findText in the string withinText,
starting at the given position or -1 if the text is not found.
UPPER
UPPER(string)
ENCODEURL
ENCODEURL(string)
Extracts any special characters in the string so they can be included in a URL
argument.
TRIM
TRIM(sting)
Instructional Guide
82
Example
Description
IF
IF(condtion, trueExpression,
falseExpression)
CASE
ISBLANK
ISBLANK(value)
Returns true if the value is null or empty, false if the value is otherwise.
IN
Returns true if the value equals one of the provided value1, value2 .... otherwise
it returns false.
IFIN
If the value equals one of the value1, value2... then returns the trueExpression,
otherwise returns falseExpression. Must have at least 4 parameters.
Instructional Guide
83
Task: Name
Instructional Guide
84
column.
lick the Save + Close button. Name the report Tasks with % of
C
Work.
Instructional Guide
85
Name
Date Variance
Completion Date.
5. Change the selection for column 3 to Task > Actual Completion
Date.
Instructional Guide
86
column.
11. Select the Save + Close button. Name the report Tasks with
Date Variance.
Instructional Guide
87
Calculated Aggregates
Calculated Aggregates work very much like Calculated Views and
are likely to be part of any text mode calculated view that results in
a numeric output.
Apply aggregate custom expressions the same way you do the sum
aggregate for the Planned Hours field, so they accurately appear in
the grouping bar.
For the results shown in the image, expect the Work Balance
column to show the sum of all the values in the column based on
the groupings (3157 hours), not the original Planned Hours values
(3371 hours).
Instructional Guide
88
Instructional Guide
89
Instructional Guide
NOTE
Because there are several lines involved in creating an aggregator, it is
recommended to define the view in the builder interface first on another
column and then go to text mode to produce this code.
The querysort line has been removed in the sample code above. This line is
not needed and may cause confusion if left in the view, because it allows the
column header to sort by the field label to the right of the equal sign, which in
this case has been changed to an expression.
90
Description
column.#aggregator.
The aggregator tag precedes all aggregate definition lines to separate these attributes from other view attributes for the
column.
displayformat
Controls how aggregate value will be rendered in the grouping. Through this line you define any text that will be displayed
with the value.
Minutes
minutesAsMinutesString
Hours
MinutesAsHoursString
Days
minutesAsDaysString
Currency $1234.56
currencyStringCurrency
Percent
(12.34%)
doubleAsPercent
(12%)
doubleAsPercentRounded
Additional formats are available form the formats dropdown in the text mode editor interface.
function
Identifies the mathematical function used on the values returned in the results. (i.e. SUM, AVG, MIN, MAX, COUNT)
name or namekey
The aggregate name is not necessary for list view aggregates; it is used as a label on aggregate charts.
valuefield or valueexpression
Defines the values that will be used by the aggregator for each result in the report. The aggregator only interprets numeric
values, so when using the valueexpression there is no point in using CONCAT to append text to the number (i.e. 1234
Hours). The word Hours is attached to the aggregated value through dispalyformat.
valueformat
Describes the format of the value produced by the valuefield or valueepxression. The valueformat is usually always Int or
IntAsint.
Instructional Guide
91
CHAPTER 4
ADVANCED GROUPINGS
OBJECTIVES
After completing this chapter, you will be able to:
Instructional Guide
92
Portfolio:
group.0.valuefield=project:name
to
group.0.valuefield=project:portfolio:name
Instructional Guide
93
group.0.displayname=Portfolio Name
9. Change the following lines in group 1 to extend it to the
Program:
group.1.valuefield=project:name
to
group.1.valuefield=project:program:name
10. Add the following line in group 1 to name the grouping:
group.1.displayname=Program Name
11. Click the Save + Close button. Name the report Tasks by
NOTE
Text mode groupings also allow you to build four-level
groupings; whereas, the builder interface only provides
dropdowns for three tiers.
Instructional Guide
94
Owner:Company.
group.0.namekey=view.relatedcolumn
to
group.0.name=Owner Company
group.0.valuefield=owner:name
to
group.0.valuefield=owner:company:name
7. Click the Done button to save text mode code.
8. Click the View tab and add at least one column to the view.
9. Save + Close. Name the report Notes by Company and Project.
Instructional Guide
95
Calculated Groupings
When working with groupings it is important to know that
aggregated custom data does not show on summary reports.
When viewing reports you may find it useful to group the results by
percent complete for each task. This is a useful way to see which
tasks are complete, nearly complete, nowhere near complete, and
not started. This can be useful, but when you have tasks that are
0%, 12%, 24%, 25%, 75%, 82%, 83%, 99%, etc., each task with a
unique percentage complete will appear in its own grouping.
In this scenario you will create ranges of percentages to simplify the
organization of the task list. Use the following grouping breakdown:
0%
0% to 25%
25% to 50%
50% to 75%
75% to 100%
100%
Instructional Guide
96
group.0.valueexpression=
IF({percentComplete}=0,"0%",
IF({percentComplete}<25,"0% to 25%",
IF({percentComplete}<50,"25% to 50%",
IF({percentComplete}<75,"50% to 75%",
IF({percentComplete}<100,"75% to 100%")))))
6. Click Save + Close. Name the report Tasks by Percent
Complete.
NOTE
The valueexpression text must be on a single line in the text
mode interface with no line breaks. It is shown above with
returns to make it easier to read.
Instructional Guide
97
task.
2. Switch to text mode.
3. Use a CONCAT statement in a valueexpression such as:
group.0.valueexpression=CONCAT({parent}.{parent}.{parent}.
{parent}.{name},", ",{parent}.{parent}.{parent}.{name},", ",{parent}.
{parent}.{name},", ",{parent}.{name})
Instructional Guide
98
Instructional Guide
99
CHAPTER 5
OBJECTIVES
After completing this chapter, you will be able to:
Instructional Guide
100
Instructional Guide
101
Finding Help
Finding answers to your Workfront questions is important. When
you have a question, you need to know where to quickly find the
answer. The Workfront Help site is the first place you should look.
Access the Help site by clicking the help icon in the upper-right
corner of any page in Workfront. Or go directly to the Help website:
help.Workfront.com
Help articles
Product announcements
How-to articles
WORKFRONT VIDEOS
You can watch and download videos at
youtube.com/user/workfronthelp
to get information and help on topics that interest you.
Instructional Guide
102
LOG IN TO COMMUNITY
1. Sign in with your existing username and password. If you dont
have an account, click the All Other Customers tab and choose
Create New Account.
2. Fill out the required fields, which are identified with an asterisk (*).
3. Click the Create New Account button.
4. Go to your email inbox and follow the instructions in the
validation email.
*Registration is required to access some Community information.
Instructional Guide
103
Instructional Guide
104
APPENDIX
OBJECTIVES
After completing this chapter, you will be able to:
Instructional Guide
105
Appendix
Variance of Days Between Planned Start Date and the Projected Completion Date for a Task
ABS(DATEDIFF(Planned Start Date, Projected Completion Date)) or
ABS(WEEKDAYDIFF(Planned Start Date, Projected Completion Date))
Instructional Guide
106
Appendix
Instructional Guide
107
Appendix
Custom Forms
Custom Forms allow fields and information otherwise not included
to be added to Workfront. Organizations have the freedom to
customize Workfront.
A System Administrator can access and modify the custom field
area by going to Setup > Custom Forms.
Create a New Custom Form
1. Click the New Custom Form button.
2. Select the object type where the custom form will be applied.
Instructional Guide
108
Appendix
Field
Section Break
Instructional Guide
109
CHAPTER 5: Appendix
Customizing Icons
Placing an image in a view presents a number of powerful ways to
communicate and display data in a more concise and easy-to-read
report.
For example, images can be used to create stop light reports,
which provide report viewers a quick and intuitive way to read
and interpret relevant data. When images are used as icons the
view becomes easier to read because it is not cluttered with
unnecessary text.
Customize Icons in a View
1. Upload the image as a document on a project.
2. Preview the document and copy the complete URL located in
the browser.
3. Create a new column on a view. Create a project priority
column.
4. Select Advanced Options. Add a rule.
5. Select Not Null as the qualifier. This ensures the image always
Instructional Guide
110
CHAPTER 5: Appendix
earlier.
11. Add the following line:
image.width=20
12. Click Done.
Instructional Guide
111