How Your Data is Organized
This guide introduces the fundamental concepts of data structure in 360 Reporting. Understanding these building blocks—from datasets and objects to joins and granularity—is the key to creating powerful and insightful reports.
Data Structure
When building a 360 Report, data is organized in a three-level hierarchy: Datasets, Objects, and Fields.
Select a Dataset: Your first step is to choose the dataset to use. A dataset is the complete pool of data available for your report. You can only use data from dataset you select, although some fields are included in multiple datasets.
Find your Objects: Within a dataset, the system organizes information into objects. An object groups all the fields related to a specific item, like an RFI. This ensures all the fields you are working with have a consistent level of detail.
Choose your Fields: Inside each object, you find fields. A field is the most granular piece of data, such as 'Title', 'Status', or 'Due Date.'
You can create 360 Reports at the company or project level using the datasets provided in this guide.
Available Datasets
The available datasets in 360 Reporting include:
Financials
Resource Management
Project Execution
Beta User Activity
Beta Directory & Portfolio
Beta Preconstruction
Types of Fields
In 360 Reporting, fields are categorized by the type of data they contain and how you can use them.
Measure: A measure is a field containing a numerical value, such as an amount, quantity, or number of hours. You use measures to perform calculations and aggregations, like summing costs or averaging hours.
Dimension: A dimension is a field that contains descriptive text, like a name, title, or status. You use dimensions to label, group, or filter your data. You cannot use them in mathematical calculations.
Hyperlinked Dimensions: Some dimension fields, like 'RFI Number' or 'Commitment Title,' are also hyperlinks. You can click them to open the source item in a new window.
Boolean: A boolean field holds one of two values: True (yes) or False (no). You use it to represent binary information, such as whether a commitment is 'Executed' or an RFI is marked 'Private.'
Date and Date/Time: These fields contain date or date with time values, such as a 'Due Date' or 'Date Created.'
Important
In 360 Reporting, date fields in project-level reports always use the project’s timezone. See Create a New Project. In company-level reports, they use the company’s timezone. See Configure Your Company Settings.
Granularity and Grain
To build powerful and insightful reports, it's crucial to grasp two fundamental concepts: granularity and grain.
Granularity: The Level of Detail. A report's granularity defines its level of detail. A low-granularity report shows high-level, summary information (e.g., totals for an entire project). In contrast, a high-granularity report shows fine-grained detail (e.g., individual transactions within that project).
Grain: The Focus of Each Row. The grain specifies what each row in a report represents. For example, if each row shows a unique RFI, the report's grain is 'RFI.'
How Report Grain Changes
In 360 Reporting, the grain of a report can change as you add more fields.
The grain changes whenever you add a new field. If you add the 'Project Name' field, each row becomes a unique project. If you then add the more granular 'RFI Number' field, the grain shifts so that each row represents a unique RFI.
The grain only changes when you add a descriptive (non-measure) field. If you add a measure (a quantifiable value like cost or quantity), the grain remains the same. The report aggregates the new measure to the current level of detail.
Joins
In Enhanced Reporting, joins create relationships between different data objects. For example, RFIs connect to a project, commitment line items belong to a commitment, and users are part of a company.
Pulling in Related Information
Joins allow you to pull fields from multiple related objects into a single report. For instance, the 'Company' object joins with the 'Commitment' object. This connection lets you pull any information about that company directly into your commitment report.
When you combine fields from joined objects, the report displays them in the same row. For example, a report can show the 'Project Name', 'Commitment Number ', 'Line Item Amount', and 'Budget Code' together in a single row because the objects are joined.
Direct and Indirect Joins
Objects can connect in two ways:
Directly: Such as a 'Commitment' and its 'Commitment Line Item' object.
Indirectly: Through another object. For example, a 'Commitment' connects to a 'Budget Code' through the 'Commitment Line Item' object.
To display data from indirectly joined objects in the same row, you must include a field from the object that connects them. If you create a report with only 'Budget Code' and 'Commitment Name', the data will appear in separate rows. However, if you add a field from 'Commitment Line Item', all three objects will correctly appear in the same row.
NoteAdding a measure (like a line item amount) from a joined object does not change the report's grain. In the example above, the report's grain remains 'Commitment,' and the line item's measure aggregates to that level.
Adding a measure (like a line item amount) from a joined object does not change the report's grain. In the example above, the report's grain remains 'Commitment,' and the line item's measure aggregates to that level.