How Your Data is Organized

Data Structure

Enhanced Reporting organizes data in a hierarchy structure:

  • At the bottom of the hierarchy are Fields. Fields are a single piece of information associated with a specific aspect of the data being stored. For example, if we have data about RFIs, the number, title, and due date are all fields. When added to a report, each field is shown as a column, and the data in it as rows.

  • Fields are organized into groups called Objects. The fields within one Object are all the same level of granularity (see below for more about granularity). A tool may have one or more objects associated with it. Within Enhanced Reporting, fields are grouped under the object they belong to in the column picker.

  • Objects and fields they contain are further organized into Datasets. Each Dataset includes all the objects/fields of data available to combine in one report. Data cannot be combined between datasets, however, Datasets often contain overlapping fields. When you are creating a new Enhanced Report, you start by selecting the dataset you wish to build a report from.

Available Datasets in 360 Reporting:

  • Financials dataset

  • Resource Management dataset

  • Project Execution

  • User Activity (Beta)

  • Directory & Portfolio (Beta)

  • Preconstruction (Beta)

Create reports at the company or project level using the data sets provided in this guide.

Types of Fields

  • Measure: A measure is a field that contains a quantitative value or numerical data. Measures are often used to perform aggregations or calculations. Examples of measures include amounts, quantities, and hours.

  • Dimension: A dimension is a type of field that provides descriptive information about the data being stored. They cannot be used in calculations. They often have values that are strings. Examples of dimension fields include user name, RFI title, commitment number, project description.

    • Hyperlinks: Some dimensions, such as name, number, title, and ID, are hyperlinked fields. Users can click on these fields to open the item in a new window. Other examples of these fields include RFI Number, Commitment Title, and Subcontractor Invoice ID.

  • Boolean: A boolean is a field that can only contain two values: true (or yes) and false (or no). Booleans are often used to represent binary data. Examples of boolean fields include the executed field on a commitment and the private field on an RFI.

  • Date and date time: Date and date time fields contain date or date time values. Examples of date fields include due date and date created. Note that in Enhanced Reporting, date fields in project level reporting use the project timezone and date fields in company level reporting use the company timezone.

Granularity and Grain

  • The Granularity of a report refers to the level of detail or specificity of the data shown in that report. For example, a report that has a low level of granularity may show information that is rolled up per project, whereas a report with a high level of granularity shows the details of that project.

  • The Grain refers to what each row in a report represents. For example, if each row shows a unique RFI, the grain of the report is RFI.

  • In Enhanced Reporting, the grain of a report changes based on the field that the user adds. For example, if the user adds the field project name, each name will be reflected on a unique row and the grain of the report will be project. If the user then adds the field RFI number (which is more granular than project), the grain will change so that each unique RFI number is its own row, and the grain of the report is RFI.

  • Note that in Enhanced Reporting, the grain of a report only changes when a non-measure field is added. If a measure is added to a report, the grain won’t change and the measure will be aggregated to the level of granularity shown in the report.

Joins

  • The objects in Enhanced Reporting have relationships to one another. For example, RFIs are created on a project. Commitment line items are contained within a commitment and have a budget code. Users belong to a company. All of these relationships are called joins.

  • Joins allow users to pull in all fields related to joined objects. For example, Company joins to Commitment, reflecting the company that will complete the contract. Instead of the Commitment having a field called Company, Company is an object that joins to Commitments, and allows a user to pull in all information related to that company.

  • When fields from two or more objects that are joined are combined in a report, those fields will appear in the same row. For example, the report below shows project name, commitment number, commitment line item amount, and budget code all in the same row because these four objects are joined.

  • Objects can be directly joined, as in the case of commitments and commitment line items, or they can be joined through other objects. For example, a commitment is joined to budget code through the commitment line item object. In a report, to see data appear in the same row, fields from the objects that are directly joined must be added. For example, in a report with budget code and commitment name, they will not appear in the same row if no fields from the object they join through (commitment line item) have been added to the report. However, all three objects appear in the same row if the commitment line item is added to the report. The granularity of the report is still the commitment, even after adding a field from the commitment line item, because the field from the line item is a measure and thus does not change the granularity of the report.