Skip to main content

About Report Builder

availability
Platform:WebMobile
Plan Type:BasicEssentialPremiumEnterprise
User Type:RequesterFull UserAdministrator

Report Builder is a tool for creating reports that combine your data in MaintainX, and allow you to visualize it in a table or a graph. Data is grouped by datasets, and you can refine it by adding aggregations, filters, or dimensions to focus on key information.

Flowchart illustrating the steps to create a report in Report Builder.
Overview of how to create a report with Report Builder

Report Builder uses data from multiple sources in your MaintainX organization. You can analyze key data across locations and organizations to gain deeper insights into related datasets like:

  • Part consumption by asset.
  • Inventory movement.
  • Assets with the most work requests (filtered by location).
  • Purchase order costs in a given period (filtered by vendor).

You can share information with your organization by adding reports to custom dashboards or exporting the data to PDF or CSV files.

For more examples of how you can use Report Builder to gain insight into your organization, see Report Builder - Use Cases.

Report Builder Concepts​

Datasets​

A dataset is a collection of data attached to a specific entity (e.g., parts, work orders, etc.). Use one or more datasets to create reports.

The first dataset you select is the primary dataset, which defines the context of your report.

For example, if you select Parts as the primary dataset, MaintainX displays one row per part. But if you select Part Transactions as the primary dataset, MaintainX displays one row per transaction for each part.

Other datasets that you add are secondary datasets, which add dimension to your report. This distinction impacts how data is aggregated and joined in your report.

Dataset Relationships​

When you use more than one dataset, MaintainX automatically adds related columns that reveal connections and relationships between the datasets.

Let's say you select Parts as a primary dataset and add Locations as a secondary dataset. MaintainX automatically adds columns such as Part Area at Location or Part Available Quantity at Location. These additional columns provide more options for analyzing your data.

For details, see Datasets.

Visualizations​

You can create custom reports and present them using different visualizations. You can use the following visualization types to present your data:

Table listing parts inventory and usage details, including part name, available quantity, unit cost, total cost, quantity before and after, quantity change, and direction. Each row represents a different part, with clickable counts for further details.
A table report listing parts inventory and usage details
  • Bar Chart: shows your data using bars and strips to compare quantities across groups. For details, see Create a Graph Report.
Stacked bar chart displaying the distribution of work order statuses (Done, In Progress, Open, Skipped) for different assets. Each bar is segmented by asset, with a color legend indicating asset names.
A bar chart displaying the distribution of work order statuses for different assets
  • Line Chart: shows trends or changes over time by connecting data points with lines. For details, see Create a Graph Report.
Line chart showing the total cost for various parts, with each part listed on the x-axis and total cost on the y-axis. The chart visualizes cost differences among parts.
A line chart showing the total cost for various parts
  • Pie Chart: shows data as slices of a circle to illustrate part-to-whole relatiohships. For details, see Create a Graph Report.
Pie chart illustrating the proportion of work orders by status, with segments labeled Done, Open, In Progress, and Skipped, each represented by a different color.Pie chart showing the distribution of work orders by status, divided into segments for Done, Open, In Progress, and Skipped. A tooltip highlights the 'In Progress' segment, indicating 23% of work orders are in progress.

Aggregations​

Aggregations summarize multiple values into a single output to reduce the amount of information displayed in a report. You can use an aggregation like Count, Sum, or Average on your dataset fields to refine how your data is presented.

Important

Primary dataset fields don’t require aggregations, but using one might affect how your data is grouped and displayed.

Aggregation TypeDescription
AverageCalculates the mean of all values.

For example, if you have three transactions of 5, 10, and 15 parts, the average will be 10.
Count (All)Counts the number of related values.

If a part is linked to 5 transactions, the reported value is 5.
Count (Unique)Counts the number of distinct values.

If part is used in 3 work orders, 1 time in the first one, 4 times in the second one, and 7 times in the third one, the reported value is 3.
MaximumGives the largest value.
MinimumGives the smallest value.
SummationAdds up numeric values from related data.
tip

You can select an aggregated value to view the underlying source values that were combined, providing more detailed insight into the reported figure.

Date Grouping​

The Group By option allows you to group dates by periods: Day, Week, Month, or Year. This option is available for all date columns in Report Builder.

Let's say you want to create a report focused on labor utilization and group your data by week.

DatasetColumns
Labor Utilization by Day
  • User
    Aggregation: List (Unique)
  • Date
    Group By: Week
  • Setting a List (Unique) aggregation on the User column creates one line per user.
  • Setting the Group By option to Week groups every occurrence of the user labor utilization by week, more specifically by the first day of each week at 12:00 AM.
Table titled 'Labor Utilization by Week' showing a list of users and corresponding dates grouped by week.
Labor Utilization by Week

Filter Conditions​

Filter conditions determine what makes the selected column in your report match the filter.

ConditionDescriptionNotes
Is one ofFinds entities where the filter field matches one or more values that you specify.Use this to include specific entities in the view.
Is emptyFinds entities where the filter field has no value at all.
Is not emptyFinds entities where the filter field has any value.
ContainsFinds entities that contain the selected value.
Does not containFinds entities that don't contain the selected value.
Is equal toFinds entities that match the selected value.
Is not equal toFinds entities that have a different value than the one selected.
Is aboveFinds entities that have a greater value than the one selected.
Is above or equal toFinds entities that have an equal or greater value than the one selected.
Is belowFinds entities that have a smaller value than the one selected.
Is below or equal toFinds entities that have an equal or smaller value than the one selected.
Is betweenFinds entities that have a value within a specific range.