Report Designer

Table of Contents

Purpose

Report designer allows you to create and design reports for custom configured Activity and Lab Test Forms. First you will need to create a Report Type. Once the Report Type is created, you can start designing your report.

Accessing Report Designer

You can access Report Designer from the following pages in Administration:

  • Administration > Activity > Form Designer screen (Activity Reports Only)
  • Administration > Lab > Test screen (Lab Reports Only)
  • Administration > Reports > Report Settings Screen 

To Access the Report Designer from the Report Settings screen, select this icon found in a column on the right:

Working With Report Designer

When you first open the Report Designer you will see a blank "page" and various menu options above and on the right.

As you begin adding content to your report by dragging and dropping content onto the report template, you may notice that the Fields you are adding display the data set and field system name. Remember that the value of the content for this field when the report is generated may be smaller or larger than the string appearing in Report Designer.

Example in Report Designer

Example on Report

Main Menu

Above the report page is a main menu with the following options:

OptionExplanation
Save
  • Saves the current state of your Report
Undo
  • Undoes the last action performed
Redo
  • Allows you reapply the change to the report after being undone
Portrait / Landscape Dropdown
  • Sets your report to Portrait or Landscape orientation
Font Size
  • Allows you to change the Font size on the Report
  • Options range from 8-27 pt
  • Default Font size is 11
B / I / U
  • Formats the a label or field as Bold, Italics or Underlined
Left / Center / Right Justify
  • Formats the justification for the contents in a label or field
Delete
  • Allows you to remove content on the report
Close
  • Closes the Report Designer and returns you to the screen you where on previously

Elements

Every report template contains various elements, which define the layout and describes how the form's data should be rendered in the Report.

ElementDescription
Label
  • Allows you to add a label on the report

Paragraph
  • Used only for labels
  • Allows you to string labels together
Panel
  • Allows you to group fields or other elements within a Panel on the report
  • Helpful when formatting data in columns
Vertical Table
  • Applies a table where the headers run along the left column
  • Can be used to display fields from a single data grid OR fields from the main / section level
Horizontal Table
  • Applies a table where the headers run accross the top
  • Can be used to display fields from a single data grid OR fields from the main / section level
Checkbox List
  • Use for Picklist, Mutliple Choice and Yes/No fields only
  • Displays all options on the report, with the selected items checked
Image
  • Allows you to designate a place on the report for images to display that were previously uploaded to the associated form.
  • You can also add an uploaded image by working with Datasets. 
  • NOTE: if you wish to upload a static image to the report please see the Report Resources section. 
Line
  • Allows you to place a line on the report
Page Break
  • Allows you to place a page break on the report in the location you drop the element

Datasets

Data Sources are used to specify dynamic data for the elements on your report. 

DatasetDescription
Add Additional Forms
  • Allows you to add additional Forms to your Report.

To remove a Form from your Report, you will need first to delete all of the associated fields displaying on the Report.
Once this is done, expand the Form data set and choose the delete form button.

Form Field Sets
  • List of all the Fields available on a Form
  • Click and drag your field to add it to the report
Report Metadata
  • List of Project level data, Lab values (Lab Reports only) and various report attributes
  • Click and drag an item to add it to the report
Report Resources
  • You can add or remove images that will display on every report
  • After an image is added as a resource, it also must be placed on the report

When working with a Form dataset, you can sort the fields Alphabetically or by the Order in which they display on the report, as well as view Active Fields, Inactive Fields or All Fields.


Properties

Used to control formatting of individual items on the report.

Depending on the Report Element you are working with different items will display under the Properties tab.
PropertyDescription
Width
  • Sets the width of an element in a panel
  • Enter a percentage of the panel or pixel value

Width Options

It is important to understand how the Width option works for different elements.

The Width can be left empty or can be set in different units: "%" or "px"

When working with elements to define the layout of the template it is recommended to use %.

When the Width option is empty, the system will use the default value for the element:

  • Labels: Auto or as wide as the text inside
  • Panels and Tables: 100% (Full width)

Minimum / Maximum Height
  • Allows control of the set height for various elements
Border
  • Allows you to display a border for a panel
  • Enter a pixel value
Group By
  • Used to "flatten" the Sample Tracking data structure on reports - not applicable to Activity reports
  • Group By property is assigned to panel - see recommendation below

When creating Sample Tracking / Test reports, it is recommended to create three separate panels to report the three different "levels" of the Sample Tracking data structure.

  • Sample
  • Specimen
  • Test

Apply the Group By property to each of the three panels and select the name of your respective sample, specimen and test forms in the Group By list.

After creating the three primary panels, place additional panels and fields within each of these three primary panels.

Example of all Sample fields added within a panel grouped by the sample form:

Example of Test fields added within a panel grouped by the test form:


Text
  • Allows you to set the text that displays for a label
Data Set
  • Allows you to set the Data Set for a field
Source
  • Must choose a Data Set first
  • You can pick a field that will dynamically populate upon report generation
Font Size
  • Control the font size
Bold

Two choices:

  • False = Font will not be bolded
  • True = Font will be bolded
Italic

Two choices:

  • False = Font will not be italicized
  • True = Font will be italicized
Underline

Two choices:

  • False = Font will not be underlined
  • True = Font will be underlined
Text Align
  • Formats the justification for the contents in a label or field
  • Options are Left, Center or Right
Hide Expression
  • Allows you to hide an element based on empty values of other fields.
Direction
  • Allows you to align the elements inside a panel
Padding
  • Controls amount of white space that will appear between elements
Number Format
  • Used for Number field types only
  • Allows you to control certain aspects of how a number will be expressed on the report
  • Examples: Decimal places, leading zeros, percentage, thousands separators
Background Color
  • Use to apply a background color to a panel or table

Options to Display
  • Used for Picklist, Multiple Choice and Yes/No fields only when added to the report as a checkbox display
  • Controls if all options display as checkboxes or only the selected options
Options Orientation


  • Used for Picklist, Multiple Choice and Yes/No fields only when added to the report as a checkbox display
  • Controls if the options display verically or horizontally

    Vertical Example

    Horizontal Example


Report Settings

The Reports Setting section allows you to define the settings for each report (report name, titles, legal text, digital signature properties, etc. See Reports - Report Types for specific setting information). Depending on the type of report you are working with (Activity or Lab Test) you will see different options.

SettingDescription
Report Name
  • Name for the report design
  • Not to be confused with the Report Title (below)
Report Code
  • Short name / code for the report
  • Must be unique across the system
Default Title
  • Default title of the report
Alternate Field Title
  • Tile of the report that will override the Default Title if the report is generated from the Field module
Alternate QC Title
  • Tile of the report that will override the Default Title if the report is generated from the QC module
Allow Alternate Report Title At Run Time
  • Gives the user generating a report the option to override the Report Title
Standard
  • Discloses an operational standard that the report meets / is for (i.e. ASTM 1234)
Digital Signature Configuration
  • Assigns the digital signature profile / option that is available for this report
Send Field Reports To
  • Allows generated Field Reports to be sent to Quality Control for report review or, straight to Delivery
Display File Uploads
  • Allows for configuration for all file uploads to display or, just uploads on the report template
Repeat Table Headers
  • If a table extends to a subsequent page, column headers can be set to display again, at the top of the subsequent pages
Field Legal Text
  • Legal text appearing at the bottom of the report if generated from the Field module
QC Legal Text
  • Legal text appearing at the bottom of the report if generated from the QC module
Allow Field Signature Capture On Field Reports
  • Determines if a field signature can be captured when generating the report from the Field module
  • A field signature is similar to signing for a courier delivery - report recipient would "sign off" on the screen that the report has been delivered
  • The signature obtained is part of the Field report generated
Report Image
  • Allows for uploading of static image onto report
Report Text
  • Allows for static text to display at bottom of report's body
Show Report Date In Header
  • Displays the data of which the report was finalized and created in the header (not necessarily the same date as the activity / data).
Show Report Time In Header
  • Displays the time of when the report was finalized and created in the header (not the time that the activity/data was entered)
  • Show Report Date in Header setting must be selected to see this option
File Name
  • Format of the file name generated for the report. 
  • Placeholder variables can be used to configure the file name. See table in the next section below for more details about placeholder options. 
Description
  • Format of the report description metadata generated for the report
  • Placeholder variables can be used to configure the report description, including {{SetNumber}} to return the sample's set number
Include Description For Associated Reports
  • If associated report(s) exists, a short description of the will appear near the end of the body of the report (similar to a table of contents)
Apply Page Break On Every New Record
  • Inserts an automatic page break when multiple form records are included in one report
  • The start of each form included on the report will appear at the top of a a page

For reports using Multi-record/Grouped record grid elements, this setting should not be used.

Show In Report Associations
  • Allows for report type to be in available list of reports that can be associated to other reports
Show In QC Draft Report Filter
  • Allows for report type to be added as an option in Report Type filter (picklist) in QC Draft Report module
Show In Delivery Report Filter
  • Allows for report type to be added as an option in Report Type filter (picklist) in Delivery module
Allow Emailing On Finalize
  • Allows for the person finalizing a report to also email the report as part of the finalization process
Allow Publishing On Finalize
  • Allows for the person finalizing a report to also make the report public in AgilePort
Allow Override Digital Signature Configuration On Projects
  • Allows for user to apply a different digital signature type, based on project specification setting. (i.e. Typically sign this report but, for specific project, need to apply a seal instead)
Internal Report
  • Yes = Report is used primarily for internal operations
  • No = Report is used primarily for distribution to clients / customers
Test List Report
  • Yes = Only reports marked with "YES" can be viewed when clicking on the Print early Test List
  • No = Only reports marked with "NO" are listed in "Preview Report"
Type
  • Form type the report is for
  • System value that is not editable
Header And Footer Type
  • System = Standard MetaField report header / footer assigned
  • Custom = Report designer is able to design their own header / footer using the Report Designer
  • None = No header / footer is included on the report
Allow Distinct Header And Footer On Each Record
  • Displays if Header And Footer Type = Custom AND Apply Page Break On Every New Record = Yes
  • Displays if Allow Distinct Header And Footer On Each Record = Yes
  • This setting will force a distinct header value for each underlying form instead of combining / concatenating / taking the first value when there are multiple values to report
Custom Paging Placeholder
  • Displays if Header And Footer Type = Custom
Include WBS / Cost Summary
  • No (default) = WBS and Cost summary is not included in report
  • Yes = WBS and/ or Cost summary is included in report
Add WBS Fields
  • This is only available if Include WBS / Cost Summary is toggled to Yes
  • Yes = WBS fields are included in the summary report
  • No = Only Cost summary is included and the WBS fields are not summarized on the report
Number Of Elements
  • Count of the number of elements in your report design (label, field value, line, panel, etc. are all examples of elements)
  • Report designs are limited to 500 elements

Placeholders

Both the File Name and Report Description values have dynamic placeholder values that can be implemented. Hover over the information icon next to each field to see the available placeholders. The placeholders are case sensitive and must be placed within brackets {{ }}.

 File Name

Dictates the name of the file if a report is downloaded or emailed. Customizing this value can make it easy for clients to better identify a report without having to open the file PDF file. 

PlaceholderDescription
Office Name

Inserts the office value that is selected when generating a report.

Report Description Inserts the 'Report Description' which is can also be configured within the Report Designer. See table below for more information regarding this field. 
Report ID A number that serves as a unique identifier for a report. No two reports will have the same ID.
Report Note

Inserts the text value entered in the 'Report Note' field which a user can enter before finalizing a report. 

Report NumberIf report numbering is turned on, then the file name will include the report number. 
Report Title

Inserts the 'Default Title' value set within the report designer. 


Report Description

PlaceholderDescription
ActlvityDate

For Activity records only, displays the date the activity date found in most activity forms.

ActivityNumberFor Activity records only, displays the date the activity number identifier found in most activity forms.
ClientNameThe name of the client associated with the project.
ClientProjectNumberThe '
CurrentUserDisplay the name of the user generating the report. 
DensityTestDateFor Density tests only, displays the date the test was conducted. 
DensityTestNumberFor Density tests only, displays the test number associated with the density test record.
FieldActivityDateFor Activity records only, displays the date the Field Activity Date found in some activity forms.
LabTestDateFor Test records processed through the LIMS module. Displays the date the test was conducted. 
LabTestNumberFor Test records processed through the LIMS module. Displays the date test number for the test record. 
LargestTestAgeFor Test records processed through the LIMS module. Displays the largest number found in a specimen set. 
LocationDetailsFor Test records processed through the LIMS module. Displays the data entered in 'Location Details' field.
LocationFor Test records processed through the LIMS module. Displays the data entered in 'Location' field.
ProjectNameDisplays the current Project Name.
ProjectNumberDisplays the current Project Number.
ReportDateDisplays the date the report was generated. 
SampleDateDisplays the data a sample record was created. 
SetNumber

Displays the set number tied to a sample record

SpecimenNumberFor Test records processed through the LIMS module. Displays the specimen number for a test record.
TechnicianDisplay the Techician who captured or processed the sample or test record. 

File Upload Display

When PDF files are uploaded to Activity records you have the option to add these documents to the report or to not allow these to display. By default all PDF documents will be apended to the end of a report. If you would like to control which fields that contain file uploads are actually added to the report, change the "Display File Uploads" field found under Report Settings to "Added to Report Template". When this option is selected you must add the field to the report template in order for the uploaded PDF documents be added to your report.

Creating Columns of Data

Splitting your report into multiple columns can be achieved using multiple Panel elements. It's important to use panels to define alignment of the various elements used in your report design.

StepDirection


Example

1.

Within a panel, add the number of panels that equals the number of desired columns


In the example, three panels were added to achieve three columns

2.

For each column, set the desired Width (% preferred) to defined the size of each column

In the example: column 1 = 25%, column 2 = 25%, column 3 = 50%

Together the Panels width should not be greater than 100%.

3.

Add fields inside each column.

Elements inside Panels are aligned one to another if there is enough space in the same row.

Best Practices

Working with Report Elements

 As you are building your report, you will be working with various elements. Elements can be split into two categories based off complexity of the content:

  • Simple elements are the smallest building blocks. Examples include Labels, Panels, Tables, Images, and Lines
  • Composite elements are created by combining Simple elements. For example, when you click and drag a field from a Data Set to your report, you are adding a panel and two labels.

Adding a Form Field / Project Meta Data 

There are two ways to add a Form Field or Project Meta Data to your report.

  1. From the Datasets menu, drag and drop the field to the report
  2. From the Elements menu, drag and drop a label to the report. Select the label you just added to the report, then from the Properties menu choose the appropriate Data Set and Source.

Use a Panel to Wrap Elements

Simple elements (Labels, Images) which define a logical structure, should be wrapped inside a Panel. For example a Form Field can have a Label, Helper Text, and Value. Those elements should be wrapped inside panel, because together they define a Field.

One of the advantages of this practice is it becomes easier reorder / move the entire panel verses each individual elements

Working with Form Fields

Under the Datasets tab you can find a list of Fields available to add to your report. This list is based on the Active Fields previously added to your From. 

Text Based Fields

To allow for faster addition of Form Fieldsseveral additional elements are preconfigured for you upon dropping a Field onto a form. For example text based field types (Number, Text Area, Multiple Choice, etc.) are dropped onto the report as two Labels (one for the field label and one to display the field value) wrapped inside Panel component. After a Field has been added, all of these components can be altered to fit your needs.

 

Upon dropping a field onto your report, the Panel has a Hide Expression added automatically to hide itself and the elements inside, if the record being reported contains no value. If you would like this to be hidden using a different set of rules, this may be adjusted from the Properties menu.


File Upload Fields

File Upload field types have the same structure as the text based field types, except that they are using an Image component to display the field’s value.

How this Image will be rendered on the generated report depends on the source file type. File Uploads fields allow a wide range of file types to be uploaded while creating an Activity record. However, the report will only support certain types of files. 

Image report display by file type:

  • Image file types (jpeg, png, bmp, gif) are rendered on the exact position where the image component is placed
  • PDF files are attached on the PDF right after the form records. The Image component is replaced with the following text: “See {filename} in the documents section at the end of this report”.
  • All other file types are not rendered on the report. 

Note that image fields are contained in a Panel wrapper that also has Hide Expression property added by default.

Data Grid Fields

Data Grid fields are also available to drop. When dropped onto your report you will have three options for how the fields will render on your report:

  1. Vertical Table - Headers span across the page
  2. Horizontal Table - Headers run along the left side of the page
  3. Panel - Fields are not placed inside a Table, instead they are added as a simple panel

When adding a Data Grid as a table component (with Data Grid field for the Data Source property) a table title and grid are created by default. All of these elements are wrapped inside Panel component with Hidden Expression that hides all the elements inside if the Data Grid field has no records.

When you are working with Nested Grids, you always must place the nested grid inside the main grid on your report to have the data rendered correctly.


Sections Fields

Section form fields are not available as a data source and cannot be used with any component. Instead, all form fields, nested inside the Section, are available in the Form Fields data set and can be used as normal.

Resources

Resources are uploaded to the report template as static images. These images can be used inside the template. For more info check the “FAQ” section.

Hide Expressions

Hide Expression property allows you to hides a component. If the calculation’s result is TRUE, the component won’t display on the generated report. There most common types of expressions allowed for the Hidden Expression property: Is empty and Is last record. An example of how these are constructed is provided below. The system also supports expressions using "Not Equals", "Greater Than", "Greater Than or Equal To", "Less Then" and "Less Than or Equal to". Defining a Hide Expression is done using the Expression Builder interface. 

Is Empty

Is empty is used to check whether a field does NOT contain any value. It has the following format: [DataSet][FormField][FormField] = ‘’

Examples:

FormFields.ActivityNumber = " "

FormFields.Discrepancies.Status = " "

Is Last Record

Is last record expression is used to determine whether the component is used in the last activity record on the template or the last row of a Data Grid field (implemented using Panel or Table). This expression is mainly used with Line components in order to hide the line separator in the last rendered record.

The expression is used like a function:

last()

Calculation Expressions

Calculation Expression is a property that allows you to write expressions directly on a report.  This allows for the ability to dynamically report on different data elements within the report itself.  The Calculation Expression property is available for standalone fields (Label, Paragraph) or to table fields.  When an applicable field is selected Caclulation Expression will be listed under the properties tab.  

Working with Basic Table Elements

How to Use Build a Table to Display Data Grid Fields

If you choose to build a table rather than dropping the table onto your report, you will need to follow these steps to set up your template.

StepDirectionExample
1.

From Elements tab drop Table element on the template.

2.Right click on the table and choose Select Table from the context menu.
3.

Open the Properties tab.

4.

Choose Form Fields for Data Set.

5.

Select the appropriate Data Grid.

How to Add Form Field to a Table with a Data Source (Data Grid Fields Only)

After your table has been configured to source the a data grid, you can work with the columns inside the table. To source data for a column follow the steps below.

StepDirectionExample
1.

Make sure that the table has Data Source property set.

2.Select the Heading column label you wish to work with. Open the Properties tab and edit the text.
3.Open the Properties tab and select the Form Fields for the data set.
4.

 Choose a Field in the Data Source dropdown.

How to Add New Column to Table

StepDirectionExample
1.

Right click on the existing column from the table.

2.

Select "Insert Column Before" or “Insert Column After” from the context menu to add new column.

How to Use Data Grid Field Inside Table Component

You can add Grid field inside your table only if the field is a child element from the Main Data Gird. 

To do this follow these steps:

StepDirectionExample (Click Image to Enlarge)
1.

Drop Panel component inside the table.

2.

Select the Panel and from the Properties tab select Form Fields as the data set.


3.If sourcing a nested data grid, select the appropriate data grid as your source.
4.Now inside the Panel element you can add components related to your nested data grid.

How to Control Data Grid Sort Order

StepDirectionExample
1.Right click on a selected cell in the table and click Select Table.

2.Select the properties tab.


3.

Choose the Data set and source that you want to use to control sorting.

If Data Set and Source don't have a valid value selected, the other fields will not be displayed.

4.

Choose your primary sorting data element and if you would like to sort by ascending or descending.

5.(Optional) If you'd like to use a secondary sorting criteria, choose a data element from the Secondary Sort option and choose ascending or descending for the Secondary Sort Direction. 

Sort Order can be applied to data grids or panel data elements that use a data source.

How to Hide Duplicate Records

When Report Designer has Unique Row = “Yes” setting applied and if there are duplicate data entries for fields present in Multi Record Grid then for those entries Distinct Record is displayed.

Using Main Level, Section and Report Resource Fields Inside a Table

You also can add a table element to your report and apply main level, section fields and report resources inside the table. This is especially helpful if you want a similar look throughout your report. 

The system does not support the placement of data grids fields AND main level or section fields inside the same table.


Moving and Inserting Table Columns

Once a table is added to your report, you can quickly move, add or delete a column by selecting the column and right clicking. You will be presented a list of available actions, chose the appropriate option.

Table Footers

If you need a footer applied to your table, select the table and right-click. An option to add a Table Footer will be presented to you. 

A Label element should be added to the footer cell and the appropriate data aggregation field should be referenced in the properties of the label.


Working with Panels

How to Use Panel to Display Data Grid Fields

Data Grid fields can be displayed using with Panel components. Once the source of the panel is set to a Data Grid field, then inside the panel you can place fields related to that Data Grid. 

Example of a Grid display in a Panel and the Report Output


To set the source of a panel to a Data Grid:

StepDirectionExample (Click Image to Enlarge)
1.Drop Panel element from the Elements menu.
2.

Select the Data Grid field in the Data Source property.

How to Add Form Field to Panel with Data Source

StepDirectionExample (Click Image to Enlarge)
1.

Make sure that the Panel component has Data Source property set.

2.

From the Elements tab select Label and drop it inside the Panel.

3.

With your label selected, in the Properties panel choose values for the Data Set and Data Source properties.

How to Add a Line Separator on All but Last Grid row

Line component can be used as separator between each Grid field records.

StepDescriptionExample (Click Image to Enlarge)
1.

Go to the elements tab and add a line component as the last element inside the Panel.

This line will be rendered after each grid record, including the last record.

To suppress the line after the last record, proceed to step 2 and 3.

2.Select the line and open the Properties tab.
3.Type last() inside the Hide Expression property to hide the line in the last row.

Working with Images 

How to fix stretched images 

To keep the aspect ratio of your images, set a value only for one of the size properties: Width or Height.

If the Image component has value for Width, but Height property is left empty, on the generated report it’s height will be calculated to keep the appropriate aspect ratio.

Working with Resources

How to Add a Resource

Resources are static images, that can be used in the report template.

To add resource file:

StepDirectionExample (Click Image to Enlarge)
1.

Click on the Upload Image button on the top bar.

2.

Select the image file, that you want to add as resource.

3.

When your image is uploaded successfully it will be available in the Data Sets tab inside Resources data collection.

How to Add Image Resource on the Template

StepDirectionExample (Click Image to Enlarge)
1.

Open Data Sets tab.

2.

Inside Resources data collection find the resource you want to add.

3.

Drop the resource on the template.

How to Change Resources on the Template

Image resources can be used only with Image components.

If you have dropped image component and you want to change the resource it uses, follow these steps:

In the Data Source property find and select your resource name.

StepDirectionExample (Click Image to Enlarge)
1.Select the Image component.
2.Open Properties tab and Make sure that the Data Set value is Resources.
3.In the Source find and select your resource name.