Ad-Hoc Reporting: Data Source Configuration

Ad-Hoc Reporting: Data Source Configuration

Purpose Statement

The Data Source Configuration tab allows you to select specific data sources and establish relationships between them when building Ad-Hoc reports. This step determines what information will be queried from the database and how different data sets connect to create comprehensive reports tailored to your department's needs.


Background Information

Data Source Configuration is the second step in creating Ad-Hoc reports within the Reports module. This feature enables users to build complex reports by selecting parent data sources (main data categories) and adding child relationships to pull related information. The configuration supports both inclusive and exclusive relationships, allowing for flexible data retrieval that can be as broad or specific as needed. This functionality is essential for creating detailed incident reports, personnel analyses, apparatus utilization reports, and other critical Fire/EMS documentation.


Required Permissions

Users must have the "Reports: Ad-Hoc" permission enabled in their user profile to access and configure data sources in Ad-Hoc reporting. Additional permissions may be required based on the specific modules and data sources being accessed (e.g., Incident permissions for incident-related data sources).


Video



Step-by-Step Guide

Step 1: Access Data Source Configuration

  1. Navigate to the Reports Module and select Ad-Hoc Reports from the menu
  2. Click Create Report
  3. Complete the Basic Information tab (refer to the "Ad-Hoc Reporting: Basic Information" article)
  4. Click Next to advance to the Data Source Configuration tab

Step 2: Select Parent Data Source

  1. Choose the main (parent) data source from the available options
  2. Start with the broadest data category that contains your primary information
  3. Note that options range from broad module categories to specific data types

Select the main (parent) data source you want to pull information from. You will notice that you have very broad options from each module and very specific options for each module. Try to collect the broadest amount of data first and we can limit it down later using criteria.

Tip: Select the broadest applicable data source initially - you can narrow results later using criteria and filters.

Step 3: Add Child Data Sources

  1. Click Add Child next to your parent data source to establish relationships
  2. Select the child data source that relates to your parent selection
  3. Notice the grey connecting line that shows the relationship between data sources

You can now add child data sources from your parent data source to create a broader pull of information using inclusive relationships. Or you can create a smaller data set by using exclusive relationships.

Step 4: Choose Relationship Type

  1. Select either Inclusive or Exclusive using the radio buttons for each child relationship
  2. Inclusive: Includes all parent records, even if no matching child data exists
  3. Exclusive: Only includes parent records that have matching child data

You will add the first child relationship you want to use directly from the parent data source. Notice the grey line connecting the boxes. Then select Inclusive or Exclusive using the radial buttons.

Recommendation: Use Inclusive relationships when unsure - you can filter data further in the Criteria section.

Step 5: Continue Adding Child Relationships

  1. Add additional child relationships directly from the parent data source by clicking Add Child next to the parent field
  2. Observe the grey connecting lines showing relationships to the original parent

Continue adding child relationships to the parent data source by selecting Add Child next to the parent field. Notice the grey line connections this child to the original parent field.

Step 6: Create Multi-Level Relationships

  1. Add child data sources from existing child fields by clicking Add Child next to any child data source
  2. Notice how the grey connection lines show the hierarchical relationship structure
  3. This creates deeper data relationships (parent → child → grandchild)

You can also add child data fields from the first child field by clicking the Add Child button next to the child data field. Notice the grey line has moved and links the new child field as a subset of the first child field.

Step 7: Finalize Configuration

  1. Review all selected data sources and their relationships
  2. Click Next to proceed to the Report Type configuration
  3. Click Previous to return to Basic Information if changes are needed

Once you have selected all of the areas that you want to include or exclude data from, click Next to move to the next tab in Ad-Hoc. Click Previous to move back to the Basic Information tab.


Understanding Data Relationships

Parent and Child Relationships

Child relationships enable retrieval of multiple related data points from a single primary event or entity. This expands rather than limits your data scope, providing comprehensive information about connected elements.

Process Flow:

  1. Start with a primary (parent) data source
  2. Add related (child) data sources connected to the parent
  3. Continue adding deeper relationship layers as needed
  4. Each relationship provides additional context and detail

Practical Example: Incident Report with Apparatus Data

  • Parent Data Source: Incident Report (primary event information)
  • First Child: Apparatus involved in the incident
  • Second Child: Personnel assigned to each apparatus
  • Third Child: Individual personnel details and certifications

This structure allows you to analyze incident data alongside apparatus deployment and personnel assignments in a single comprehensive report.

Inclusive vs. Exclusive Relationships

Inclusive Relationships:

  • Include ALL parent records in the report
  • Show related child data where available
  • Display empty fields for parent records with no matching child data
  • Use when: You want complete parent data regardless of child data availability

Exclusive Relationships:

  • Include ONLY parent records that have matching child data
  • Filter out parent records without corresponding child information
  • Result in smaller, more focused data sets
  • Use when: You need only records with complete relationship data

Visual Example

  • Set A: Incident Reports (Parent)
  • Set B: Personnel Records (Child)

Inclusive Result: All incidents appear in report; personnel fields empty for incidents without assigned personnel

Exclusive Result: Only incidents with assigned personnel appear in report


Best Practices

  • Begin with broad parent data sources and narrow using criteria later
  • Use Inclusive relationships as the default unless you specifically need filtered results
  • Plan your relationship hierarchy before building to avoid complex restructuring
  • Test with small data sets first to verify relationship logic
  • Document your data source selections for future report modifications
  • Consider performance impact when creating deep relationship chains

Troubleshooting & FAQs

Q: My report shows empty fields for some records. Is this an error? A: No, this is expected behavior with Inclusive relationships. Empty fields indicate the parent record exists but has no matching child data.

Q: Can I change relationship types after adding child data sources? A: Yes, you can modify Inclusive/Exclusive settings using the radio buttons at any time during configuration.

Q: How many relationship levels can I create? A: The system supports multiple relationship levels, but performance may be affected with very deep hierarchies. Generally, 3-4 levels provide good balance between detail and performance.

Q: Why don't I see certain data sources in the list? A: Data source availability depends on your user permissions. Contact your administrator if you need access to additional modules or data types.

Q: Should I use Inclusive or Exclusive for my report? A: Start with Inclusive relationships to capture all available data, then use the Criteria section to filter results as needed. This approach provides more flexibility.



    • Related Articles

    • Ad-Hoc Reporting: Columns

      Purpose Statement The Columns configuration allows users to select and customize which data fields from their chosen Data Source will be displayed in a Tabular Ad-Hoc Report. This feature enables users to create focused, relevant reports by choosing ...
    • Ad-Hoc Reporting: Filters

      Purpose Statement Filters allow you to temporarily modify the data displayed in your Ad-Hoc Reports without permanently adjusting your report criteria. This feature enables dynamic data exploration and customized views of your report information, ...
    • Ad-Hoc Reporting: Criteria

      Purpose Statement This feature allows users to apply criteria filtering when creating Ad-Hoc Reports in the Reports Module. Criteria filtering enables you to focus on relevant data by filtering records based on specific field values, date ranges, and ...
    • Ad-Hoc Reporting: Tabular Grouping

      Purpose Statement This feature allows users to organize and structure data in Tabular Reports by creating grouped sections based on specific column values. Tabular grouping transforms flat data tables into hierarchical, organized reports where ...
    • Ad-Hoc Reporting: Summary Grouping

      Purpose Statement This feature allows users to create Summary Reports that provide broad analytical views of totals, averages, trends, and percentages from agency data. Summary grouping transforms detailed records into meaningful aggregated insights ...