# Reporting System

## Table of Contents

* [Overview](#overview)
* [Getting Started](#getting-started)
* [Browsing Reports](#browsing-reports)
  * [The Report List](#the-report-list)
  * [Report Groups and Organization](#report-groups-and-organization)
  * [Navigating Multi-Page Reports](#navigating-multi-page-reports)
  * [Report Group Navigation Styles](#report-group-navigation-styles)
* [Viewing Reports](#viewing-reports)
  * [Using Report Filters](#using-report-filters)
  * [Report Layouts and Templates](#report-layouts-and-templates)
  * [Site Reports](#site-reports)
* [Report Administration](#report-administration)
  * [Managing Reports](#managing-reports)
  * [Managing Report Types](#managing-report-types)
  * [Managing Report Pages](#managing-report-pages)
  * [Managing Report Groups](#managing-report-groups)
  * [Managing Report Filters and Columns](#managing-report-filters-and-columns)
  * [Managing Report Layouts](#managing-report-layouts)
  * [Report Configuration and Sync](#report-configuration-and-sync)
* [Common Scenarios](#common-scenarios)
* [Troubleshooting](#troubleshooting)

## Overview

The Reporting System is the central hub for accessing and managing educational data reports in OtisEd.Nimble. It organizes reports into pages and groups so users can quickly find the data they need, whether that is school performance summaries, district-level dashboards, or statewide data downloads. Administrators can create and configure reports, control who sees which reports, and set up the filters and layouts that shape how data is presented. End users can browse reports organized by topic, apply filters to narrow results to a specific school or academic year, and view data through several different display templates.

## Getting Started

To access reports, you need an active account with the appropriate permissions for your role. The reports available to you depend on your organization and the permissions granted by your administrator.

* To browse and view reports: your account needs the standard Reports permission.
* To administer reports (create, edit, delete): your account needs the Reports Administration permission.
* To access the Report Administration panel: navigate to the Report Administration section from the main navigation menu.

If you expect to see a report but cannot find it, contact your administrator to confirm your account has been granted access to the relevant report group.

## Browsing Reports

### The Report List

The report list shows you all reports available within a specific report page. When you open a report page, you see the page title at the top followed by the report groups that belong to that page. Only active groups are shown — inactive groups are hidden automatically.

Each group displays its title and any reports nested within it. Reports are organized into groups so related reports appear together. You can expand a group to see its reports and click on any report title to open it.

### Report Groups and Organization

Reports are organized in a hierarchy:

* **Report Pages** are the top-level containers. Each page has a name, description, and an optional page type that determines how it is displayed.
* **Report Groups** sit within a page and collect related reports together. A group can also contain other groups, creating a nested structure for complex report libraries.
* **Reports** are the individual items within a group. Each report has a title, description, and links to the underlying data source through its report type.

Groups can be set as active or inactive. Only active groups appear in the report list. Groups that contain no accessible reports for your account are hidden automatically, so the list stays uncluttered.

Some groups carry an "About" description that provides context for the reports they contain. Groups may also have an access type of "AP" (all-purpose), which means they are always visible regardless of individual permission settings — these are used for publicly accessible report sections.

### Navigating Multi-Page Reports

Some report pages contain multiple groups displayed as tabs across the top of the page. You can click any tab to switch to that group's reports. The active tab is highlighted so you always know which section you are viewing.

Within a group, if there are subgroups, they may appear as a list of links or as a secondary navigation that you can click to drill into a specific subtopic. The URL updates as you navigate, so you can bookmark or share a link to any specific group or subgroup.

### Report Group Navigation Styles

Report groups within a section can be displayed in one of two navigation styles: **Tabs** or **Links**. The style is set by an administrator through the Group Style configuration on each report group, and it controls how you switch between groups when viewing a report page.

**Tabs (default)**

When a group uses the Tabs style, each group appears as a tab in a horizontal tab bar below the section title. The active tab is highlighted, and you click a different tab to switch groups. This is the default behavior when no Group Style has been explicitly configured.

**Links**

When a group uses the Links style, the group names appear as clickable text links instead of tabs. On desktop, these links are displayed on the same line as the section title, aligned to the right side of the page. The active link is shown in bold with an underline so you can see which group you are currently viewing.

On mobile devices, the group links appear on a separate line below the section title and description, stacked beneath the title area rather than beside it. This ensures the links remain readable on smaller screens without crowding the section name.

**How the style is determined**

The Group Style setting on a report group takes priority when it has been explicitly set by an administrator. If no Group Style has been configured, the system uses its default behavior: top-level groups display as Tabs, and sub-groups within a group display as Links. This means existing report pages continue to look and behave exactly as they did before, unless an administrator has chosen a specific style.

When the Links style is active for a section's groups, the links appear in the title area and are not repeated elsewhere on the page. You will see either tabs or links for a given set of groups, never both at the same time.

## Viewing Reports

### Using Report Filters

Many reports include filters that let you narrow the data to a specific school, district, or academic year. Filters appear above the report content. You can:

* Select an academic year from the year dropdown to view data for a specific school year.
* Search for a specific school or district by typing part of its name.
* Choose an organization from the school finder to focus the report on a single location.

When you change a filter, the report refreshes to show data matching your selection. Some filters are cascading — selecting a value in one filter (such as a district) automatically updates the available choices in related filters (such as the schools within that district).

On mobile devices, filters are collapsed by default to save screen space. Tap the "Filters" bar to expand the filter panel when you need to adjust your selection.

Your filter selections can be saved to your account preferences, so the next time you open the same report page you see the same context without having to re-select your school or district.

### Report Layouts and Templates

Reports can be displayed in several different layouts depending on how the administrator has configured them:

**Single-Tier Layout**

The Single-Tier layout presents one level of groups displayed as tabs at the top of the page. Within each group, containers of data are displayed directly in the main content area. If a group has subgroups, they appear as a set of links below the group tabs. This layout works well for report pages with a moderate number of sections.

**Multi-Tier Layout**

The Multi-Tier layout adds a left-hand navigation panel that lists all report sections. You can click any section in the left panel to jump directly to it. Within a section, sub-items appear indented below the section heading. This layout is designed for report pages with many sections, making it easier to move between them without scrolling.

On mobile devices, the left navigation is hidden by default and accessible through a menu button. Tapping a section in the mobile menu navigates to that section and closes the menu.

**Report Container Layout**

The Report Container layout displays a single dashboard container within the page. This layout is used when a report page is tied to a specific interactive container — such as a chart dashboard — rather than a list of reports. The container identifier is specified in the page URL.

All three layouts support page-level filters and display a "data last updated" indicator when available for your organization.

### Site Reports

Site Reports are a separate report view that displays reports in a tabbed interface. Each active site report appears as its own tab. Click a tab title to load that report. Reports only load when you click their tab, so switching between many reports is fast.

Site Reports are accessible from the Site Reports section of the navigation. They are managed separately from the main report pages and are typically used for organization-wide summary reports.

## Report Administration

Administrators access the Report Administration panel at `/reportadmin`. The panel is organized into tabs, and the tabs visible to you depend on your administrative permissions. Common tabs include Report Pages, Report Types, Reports, App Terms, AI Chatbot Settings, and Report Page Filters.

### Managing Reports

The Reports tab lists all reports in the system. For each report you can:

* **Create a new report**: Click the create button and fill in the required fields. A report type must be selected — this determines which report server and rendering engine the report uses.
* **Edit an existing report**: Click a report to open its detail form. You can update the title, description, dimensions (width and height), sort order, and active status. You can also set the stored procedure and filter procedure that supply the report's data, as well as any additional parameters.
* **Activate or deactivate a report**: Toggle the "Is Active" flag. Inactive reports are not shown to end users in the report list.
* **Set report filters**: The Filters field on a report defines which filter values are pre-applied when the report loads. When you save a change to this field, the system automatically regenerates the filter configuration for any connected analytics integration.
* **Delete a report**: Only administrators with the delete permission can remove a report.

### Managing Report Types

Report Types define the technical category of a report — they connect a report to its rendering engine (such as MicroStrategy) and its server configuration. Each report type has a name, description, and optional parameters that are passed to the rendering engine.

To create or edit a report type, open the Report Types tab. A report server must be assigned to every report type. The server configuration determines connection settings such as the server address, port, and project name.

### Managing Report Pages

Report Pages are the top-level containers that users navigate to when they browse reports. Each page has:

* **Name**: The title shown to users.
* **Description**: An optional summary of the page's contents.
* **Page Type**: Controls which display template is used (Single-Tier, Multi-Tier, or Report Container).
* **Configuration**: Advanced settings that control visual behavior such as left-navigation width.
* **Filters**: The filter configuration applied to the entire page.

When you create or update a report page, the system automatically rebuilds the saved filter preferences for all users who have accessed that page, so their filter state stays consistent with the updated page structure.

### Managing Report Groups

Within each report page, you organize reports into groups. Use the Report Groups management area to:

* **Create a group**: Give it a title, description, and sort order. Set the parent page (via Report Page Id) or a parent group (via Report Group Id) to nest it within an existing group.
* **Set the group type**: The Group Type field controls special display behavior. The "AP" type makes a group accessible to all users regardless of individual permission settings.
* **Set the Group Style**: The Group Style configuration controls whether a group's children are displayed as Tabs or Links when users view the report page. Choose "Links" to show group names as right-aligned text links next to the section title, or leave it as "Tabs" (or unconfigured) to use the standard tabbed navigation. This setting is found in the group's Configuration field using the Group Style ("GS") configuration type.
* **Control visibility**: Toggle "Is Active" to show or hide the group.
* **Set permissions**: Use the Permissions action on a group to control which roles or users can see that group and its reports. Users without the required permission will not see the group in the report list.
* **Assign containers**: Groups can be linked to dashboard containers (from the Container Designer) in addition to or instead of standard report list items.

The group list shows a count of reports, subgroups, and containers assigned to each group so you can quickly see how populated each group is.

### Managing Report Filters and Columns

**Report Filters** define the interactive filter controls that appear above a report. Each filter has:

* **Label**: The display name shown to users.
* **Name**: The internal identifier used by the data query.
* **Default Value**: The value pre-selected when the report first loads.
* **Sort Order**: Controls the order filters appear in the filter bar.
* **Filter Type**: Determines what kind of control is rendered (dropdown, text search, etc.).
* **Cascading**: When enabled, changing this filter triggers other filters to update their available options.

To manage filters for a specific report, open the Report Filters tab and filter the list by report.

**Report Columns** define the data columns that appear in a report's output table. Each column has a name, header label, column type, sort order, and optional properties for formatting. Columns are associated with both a report and a layout, so the same report can display different columns in different layouts.

### Managing Report Layouts

Report Layouts group columns into named display variations. A single report can have multiple layouts — for example, a "Summary" layout with a few key columns and a "Detail" layout with the full column set. Layouts have a name, header, and sort order.

To create a layout, open the Report Layouts tab, select the associated report, and give the layout a name. Then add columns to the layout through the Report Columns area.

### Report Configuration and Sync

The **Report Configuration** area (accessible to administrators with the Configs permission) manages the crosstab of reports and organizations. Each configuration record links a specific report to an organization unit for a given term (academic year). Configuration records control:

* **Included Flag**: Whether this report is included for this organization.
* **No Data Flag**: Whether this organization has no data for this report (displays a "no data" message instead of empty results).
* **No Data Message**: The custom message shown when no data is available.
* **Report Filters**: Filter values pre-applied for this specific organization.
* **Last Data Refresh**: The timestamp shown to users as "Data Last Updated."

**Sync** creates new configuration records for all active reports and all organization units that do not already have a configuration entry. Run sync after adding new reports or onboarding new organizations to ensure every combination has a record.

**Purge** removes configuration records that reference deleted reports or deleted organization units. Run purge periodically to clean up stale entries after removing reports or restructuring your organization hierarchy.

## Common Scenarios

**Finding a specific school's report**

Open the appropriate report page from the navigation menu. Use the school or district filter at the top of the page to search for the school by name. Select the school from the dropdown and the page will refresh to show data for that location.

**Setting up a new report for a new academic year**

In Report Administration, create or update the report with the new academic year data source. Then go to Report Configuration, run Sync to generate configuration records for all organizations, and set the "Last Data Refresh" dates for each organization as data becomes available.

**Restricting a report group to specific users**

Open Report Administration, navigate to the group, and use the Permissions action. Add the roles or individual users who should have access. Users not listed will not see the group in their report list.

**Adding a new report to an existing page**

In Report Administration, go to the Reports tab and create the new report with the appropriate report type. Then go to Report Configurations or the report list management area, create a Report List entry that links the new report to the correct report group. Set the sort order to control where it appears within the group.

**Enabling a public-facing report section**

Set the group type to "AP" on any groups that should be visible to all users, including unauthenticated visitors. For groups that should only appear on public pages under a specific condition, set the "PP" configuration flag on those groups via the group's Configuration field.

## Troubleshooting

**A report is not appearing in the list**

Check the following in Report Administration: confirm the report itself has "Is Active" set to true; confirm the report group it belongs to has "Is Active" set to true; and confirm the current user's account has permission to access the group. Groups that contain no visible reports for a user are hidden automatically.

**Filters are not loading**

If the filter bar appears but controls do not populate with options, your organization may not have a matching Report Configuration record for this report and term. An administrator can run Sync in the Report Configuration area to create the missing record.

**The page shows "No containers have been set up" for a group**

This message appears in Single-Tier and Multi-Tier layouts when a group has been created but no report containers have been linked to it. An administrator needs to assign at least one container to the group through the Container Designer or Report Group management area.

**Filters reset every time I visit a report page**

Your saved filter preferences are tied to your user account and the report page. If an administrator recently updated the report page configuration, the system may have rebuilt your filter preferences. Re-apply your preferred filter selections and they will be saved for your next visit.

**"No data" message appears instead of report content**

The administrator has marked this organization as having no data for this report in the Report Configuration. Contact your administrator if you believe there should be data available, or if the "No Data" flag needs to be cleared after data has been loaded.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://nimble.docs.otised.com/guides/reporting-system.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
