Different Types of Reports in SQL Server Reporting Services (SSRS)
With Reporting Services, you can create the following types of reports:
- Parameterized reports
- Linked reports
- Snapshot reports
- Cached reports
- Ad hoc reports
- Clickthrough reports
- Drilldown reports
- Drillthrough reports
- Subreports
Note: A single report can have characteristics from more than one type; for example,
snapshot reports can be parameterized, ad hoc reports incorporate clickthrough report
functionality due to the report models upon which they are based, and subreports
can be linked reports.
Parameterized Reports
A parameterized report uses input values to complete report or data processing.
With a parameterized report, you can vary the output of a report based on values
that are set when the report runs. Parameterized reports are frequently used for
drillthrough reports, linked reports, and subreports, connecting and filtering reports
with related data.
Linked Reports
A linked report is a report server item that provides an access point to an existing
report. Conceptually, it is similar to a program shortcut that you use to run a
program or open a file.
A linked report is derived from an existing report and retains the original's
report definition. A linked report always inherits report layout and data source
properties of the original report. All other properties and settings can be different
from those of the original report, including security, parameters, location, subscriptions,
and schedules.
You can create a linked report on the report server when you want to create additional
versions of an existing report. For example, you could use a single regional sales
report to create region-specific reports for all of your sales territories.
Although linked reports are typically based on parameterized reports, a parameterized
report is not required. You can create linked reports whenever you want to deploy
an existing report with different settings
Snapshot Reports
A report snapshot is a report that contains layout information and query results
that were retrieved at a specific point in time. Unlike on-demand reports, which
get up-to-date query results when you select the report, report snapshots are processed
on a schedule and then saved to a report server. When you select a report snapshot
for viewing, the report server retrieves the stored report from the report server
database and shows the data and layout that were current for the report at the time
the snapshot was created.
Report snapshots are not saved in a particular rendering format. Instead, report
snapshots are rendered in a final viewing format (such as HTML) only when a user
or an application requests it. Deferred rendering makes a snapshot portable. The
report can be rendered in the correct format for the requesting device or Web browser.
Report snapshots serve three purposes:
- Report history. By creating a series of report snapshots, you can build a
history of a report that shows how data changes over time.
- Consistency. Use report snapshots when you want to provide consistent results
for multiple users who must work with identical sets of data. With volatile data,
an on-demand report can produce different results from one minute to the next. A
report snapshot, by contrast, allows you to make valid comparisons against other
reports or analytical tools that contain data from the same point in time.
- Performance. By scheduling large reports to run during off-peak hours, you
can reduce processing impact on the report server during core business hours.
Cached Reports
A cached report is a saved copy of a processed report. Cached reports are used
to improve performance by reducing the number of processing requests to the report
processor and by reducing the time required to retrieve large reports. They have
a mandatory expiration period, usually in minutes.
Clickthrough Reports
A clickthrough report is a report that displays related data from a report model
when you click the interactive data contained within your model-based report. These
reports are generated by the report server based on the information contained within
the report model. The person who created the model determines which fields are interactive
and which fields are returned when a clickthrough report is opened. These field
settings cannot be changed in the report authoring tools.
Clickthrough reports are autogenerated. However, you can create an alternative
customized report to the model for interactive data items that is displayed instead.
The custom report is a standard Reporting Services report.
Drilldown
Reports
Drilldown reports initially hide complexity and enable the user to toggle conditionally
hidden report items to control how much detail data they want to see. Drilldown
reports must retrieve all possible data that can be shown in the report.
For reports with large amounts of data, consider drillthrough reports instead.
Drillthrough Reports
Drillthrough reports are standard reports that are accessed through a hyperlink
on a text box in the original report. Drillthrough reports work with a main report
and are the target of a drillthrough action for a report item such as placeholder
text or a chart. The main report displays summary information, for example in a
matrix or chart. Actions defined in the matrix or chart provide drillthrough links
to reports that display greater details based on the aggregate in the main report.
Drillthrough reports can be filtered by parameters, but they do not have to be.
Drillthrough reports differ from subreports in that the report does not display
within the original report, but opens separately. They differ from clickthrough
reports in that they are not autogenerated from the data source, but are instead
custom reports that are saved on the report server. They differ from drilldown reports
in that they retrieve the report data only for the specified parameters or for the
dataset query.
Subreports
A subreport is a report that displays another report inside the body of a main report.
Conceptually, a subreport is similar to a frame in a Web page. It is used to embed
a report within a report. Any report can be used as a subreport. The subreport can
use different data sources than the main report. The report that the subreport displays
is stored on a report server, usually in the same folder as the parent report. You
can set up the parent report to pass parameters to the subreport.
Although a subreport can be repeated within data regions using a parameter to filter
data in each instance of the subreport, subreports are typically used with a main
report as a briefing book or as a container for a collection of related reports.
For reports with many instances of subreports, consider using drillthrough reports
instead.