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
Important Note:
Search for fields using Ad-Hoc Reporting Data Sources.
Step 1: Access Data Source Configuration
- Navigate to the Reports Module and select Ad-Hoc Reports from the menu
- Click Create Report
- Complete the Basic Information tab (refer to the "Ad-Hoc Reporting: Basic Information" article)
- Click Next to advance to the Data Source Configuration tab
Step 2: Select Parent Data Source
- Choose the main (parent) data source from the available options
- Start with the broadest data category that contains your primary information
- Note that options range from broad module categories to specific data types
Tip: Select the broadest applicable data source initially - you can narrow results later using criteria and filters.
Step 3: Add Child Data Sources
- Click Add Child next to your parent data source to establish relationships
- Select the child data source that relates to your parent selection
- Notice the grey connecting line that shows the relationship between data sources
Step 4: Choose Relationship Type
- Select either Inclusive or Exclusive using the radio buttons for each child relationship
- Inclusive: Includes all parent records, even if no matching child data exists
- Exclusive: Only includes parent records that have matching child data
Recommendation: Use Inclusive relationships when unsure - you can filter data further in the Criteria section.
Step 5: Continue Adding Child Relationships
- Add additional child relationships directly from the parent data source by clicking Add Child next to the parent field
- Observe the grey connecting lines showing relationships to the original parent
Step 6: Create Multi-Level Relationships
- Add child data sources from existing child fields by clicking Add Child next to any child data source
- Notice how the grey connection lines show the hierarchical relationship structure
- This creates deeper data relationships (parent → child → grandchild)
Step 7: Finalize Configuration
- Review all selected data sources and their relationships
- Click Next to proceed to the Report Type configuration
- Click Previous to return to Basic Information if changes are needed
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:
- Start with a primary (parent) data source
- Add related (child) data sources connected to the parent
- Continue adding deeper relationship layers as needed
- 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.