Skip to main content

Create a Custom Report

Eptura Knowledge Center

Create a Custom Report

The Insights module can be used to create custom reports, providing you with a powerful tool for visualizing your data in real time. To help you get started with ad hoc reporting, refer to the following guidelines. You can also refer to our formula cheat sheet, which is designed to help you create custom columns for your report.

  1. Navigate to Insights > Create Reports. The Choose Your Data screen displays.


  1. Select the module you want to pull the data from and then select the report.


All the fields associated with the domain are selected automatically, and the Report Editor screen displays.

Add Columns or Groups

Fields can be added to the report using a variety of methods. In the Fields section, click the folder to display the fields and then:

  • double-click the Field name to add it to the Report Preview.
  • then drag and drop the field directly to the Report Preview.

  • right-click on a field and select an option from the menu.

If you create a report then all available fields will display in the Fields section. However, if you copy from an existing report, there may be fields that do not display on the list of available fields in the Fields section. To see all the fields:

  1. Select the Domain's More Action clipboard_e69011298151501e7065712675e00559c.png icon and then click the Select Fields option. The Select Fields dialog displays.
  2. From the Available Fields list, move any fields that you would like to display to the Selected Fields list.

Add a Filter

​The Right-Click menus are available in all sections of the screen to provide you with additional functions, including editing field or measure labels, sorting by a field, creating filters, and so on.

To add a filter, complete the following:

  1. Right-click on the column and the pop-up menu displays.
  2. Click the Create Filter item.


The Filter displays.


  1. Compete the filter.
  2. Click the Apply button.

The result will be displayed.

Add a Measure

You can add calculated measures for your report. This allows you to create custom fields with your data.

To add a measure, complete the following:

  1. Click the folder to display the measures.
  2. Double click the measure to add it to the Report Preview.


Create your own Measure

To create a calculated measure, complete the following:

  1. Hover over the Option icon in the Measures section and select the Create Calculated Measure option.

Create Calculated Measure option.png

The New Calculated Measure window displays.

  1. Here you can can define your measure criteria. For example, suppose you don't want to display notes on the report, but you want to know whether notes have been entered for mail items on the report.
  2. Then enter a name for your measure, and use the Fields and Measures section and the Functions section to build a formula.

New Calculated Measure.png

For this particular measure, use the following formula: IF(Contains("Notes", ' '), 'Notes Added', 'No Notes').

To break this down into parts, you are telling the report that IF the "Notes" field Contains '(a space)', read this field value as true and display 'Notes Added' in this column; otherwise, read the field value as false and display 'No Notes' in this column.

  1. When you are finished entering your formula, click the Validate button to determine whether your formula is valid.
  2. When the formula is correct, click the Create Measure button. The new measure is available in the Measures section, and you can add it to the report.

Calculated measure.png

While this is just one example of many, hopefully the example provides you with a good starting point for building your own reports.

Remember that each function has different criteria for what is considered valid, so complex functions can require both trial and error as well as additional research. Feel free to dive in and experiment -- that is the best way to learn!

Formula Cheat Sheet

Use the following formulas to help you create the corresponding report type. This list will be updated periodically to help you maximize this powerful feature.

Space Domains

Measure Name



Area per Occupant

Square footage per user

("Area" / "Occupant Count")

Number of Rooms

Number of rooms

CountDistinct("Room Name", 'Current')


Percentage of rooms

PercentOf("Number of Rooms", 'Current')

Area per Room

Square footage per room

("Area" / "Number of Rooms")

Summary by Classification

Building summary by Space Classification

IF(StartsWith("Type", '13'), 'Interior Parking', IF(StartsWith("Type", '14'), 'Vertical Penetration', IF(StartsWith("Type", '15'), 'Void', IF(StartsWith("Type", '21'), 'Core Building Service', IF(StartsWith("Type", '22'), 'Primary Circulation', IF(StartsWith("Type", '32'), 'Expansion',  IF(StartsWith("Type", '33'), 'Secondary Circulation', IF(StartsWith("Type", '41'), 'Business Support', IF(StartsWith("Type", '42'), 'Personnel Service', IF(StartsWith("Type", '43'), 'Training & Collaboration', IF(StartsWith("Type", '44'), 'Public Space', IF(StartsWith("Type", '51'), 'Office', IF(StartsWith("Type", '52'), 'Environmentally Controlled', IF(StartsWith("Type", '53'), 'Medical Practice', IF(StartsWith("Type", '55'), 'Laboratory', IF(StartsWith("Type", '61'), 'Commercial Space', IF(StartsWith("Type", '71'), 'Production', IF(StartsWith("Type", '72'), 'Warehouse',  IF(StartsWith("Type", '81'), 'Residential', IF(StartsWith("Type", '91'), 'Alternative Workplace', IF(StartsWith("Type", '92'), 'Non-enclosed Roof', 'False')))))))))))))))))))))
Vacancy Calculated vacancy
CaseWhen("Available Capacity" - "Occupant Count" <= 0, 0, "Available Capacity") 
Vacancy Percentage Calculated percentage of vacancy
"Vacancy" / "Capacity"

Move Domains 

Measure Name



New Hires

Display a count of new hire transactions. If necessary, replace the word 'New' with the applicable term.

IF(Contains("Request Type", 'New'), 1, 0)


Display a count of terminate transactions. If necessary, replace the word 'Exiting' with the applicable term.

IF(Contains("Request Type", 'Exiting'), -1, 0)


Displays a count of move transactions. If necessary, replace the word 'Employee' with the applicable term.

IF(Contains("Request Type", 'Employee'), 1, 0)


Service Request Domains 

Measure Name



Work Started

Use to determine whether an open request as been started.

IF(IsNull("Date Time Started"), 'Overdue - Not Started', 'Overdue - Started')


Use to determine if open request is overdue.

IF(ElapsedMinutes("Date Required", Today(0)) >= 0, 'On Time', 'Overdue')

OnTime vs. Late

Use to determine whether a request is on time or late.

IF("Date Completed" < "Date Required", 'On Time', 'Late')


Use to determine whether an archived request is overdue.

IF("Date Completed" > "Date Required", 'Overdue', 'On-time')

Required by Time (hrs)

Use to determine whether the duration of the request is required.

ElapsedHours("Date Required", "Date Created")

Time to Complete (hrs)

Use to determine the time required to complete the request.

ElapsedHours("Date Completed", "Date Created")


Use to determine the percentage of flagged requests to supplement the counts for Request Number.

PercentOf("Request Number", 'ColumnGroup')

Scheduled Task

Determine whether there is a scheduled task flag to help you differentiate between scheduled tasks and on-demand requests.

IF("Scheduled Task Flag" == 'Yes', 'Scheduled Tasks', 'On-Demand Requests')


Reservation Domains 

Measure Name



Reservation Count

Total number of reservations

CountAll("Reservation ID")
Average Cancelled Average of cancelled reservations
CountAll(IF("Cancelled" == 'true', "Reservation ID")) / CountAll("Reservation ID")



  • Was this article helpful?