Use rectangles for consistency and efficiency. Consider
grouping report items in rectangles for more controlled and
consistent formatting and easy
object movement. With this
strategy, you can hide several
items at once and in one place,
you can place multiple text
boxes contained in a rectangle
into a single table cell, and you
have more pagination options.
Place report items inside a rectangle by dragging and dropping
or cutting and pasting them.
To verify that an item is inside
the rectangle, check the report
item's Parent property.
Refresh data sets. When a stored procedure, view, or query on which
a report is based changes, you must update
the report data set to reflect the changes.
You can re-execute the data set to update
it by clicking the exclamation mark on
the Dataset toolbar. Then, click the data set
Refresh button on the Dataset toolbar. The
refresh operation will use any parameters
entered during the execution and will add
or remove any fields or parameters changed
in the underlying procedure, view, or query.
This process automatically discovers any
changes, eliminating the need to change
parameters on both the Report menu and
the Dataset dialog box.
Take advantage of free reports. Microsoft
provides many free SSRS code samples,
including valuable Report Packs that give
you predefined reports for reporting against Microsoft IIS, SQL Server Integration
Services (SSIS), Exchange Server, Windows
SharePoint Services, Great Plains, and other
Microsoft applications. Report Packs are
not only useful out of the box, but also
serve as examples for how to build your
own custom reports. For information about
Report Packs, see the SQL Server 2005
Report Packs download page at http://www.microsoft.com/downloads/details.aspx?familyid=d81722ce-408c-4fb6-a4292a7ecd62f674&displaylang=en.
You can find another set of free reports in
the SSRS samples, including easy-to-install
execution log reports that show report-log activity in your environment. The execution
log reports require you to create a small
database and SSIS package (provided in
the sample) to hold execution data. The 11
SSRS samples include reports such as the
must-have Average Report Execution Time,
Longest Running Reports, and Reports
By Month. You can find more information about SSRS samples in the Microsoft
article "Monitoring Report Execution Performance with Execution Logs" at http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsql90/html/rsmnrptexpf.asp.
Embed basic JavaScript code in a report. You won't find this tip in any
Microsoft documentation, but
a few lines of JavaScript code
can enhance report interactivity. Using the expression
="javascript:history.back()" in
a text box provides a handy
Back button, for example, and
="javascript:void(window.
open('url'))" lets you open a
link without leaving a report.
Implement dynamic images
for a scorecard feel. Report consumers love colorful reports,
and including images is a
great way to add pizzazz and
highlight important values on
a report. Conditionally presenting images, such as a stoplight for a value out of range or
a check mark for a value that
meets or exceeds expectations, is
a valuable way to communicate
information to users and give
your report a "scorecard" feel.
You can conditionally show or
hide an image by using expressions for the image's Visibility:
Hidden property.
Display selected parameter
values in the report header. If
you've ever looked at a report
after you've exported it to PDF
(or any other rendering format),
you understand the importance
of displaying certain parameter
values in the report header.
Without being able to see the built-in or custom parameter selections, a
report consumer has no idea what the parameters were when the report was run. You can
prevent user headaches by placing expressions
(such as =Parameters!ParamName.Value or
=Join(Parameters!MultiParamName.Value, ",
") in a few text boxes in the page header to
show which multiselect report parameter
values were selected when the report was
executed.
Use dynamic grouping for control. Although you can't control everything on
a report by using expressions, you can control grouping this way. In some cases, you
can even avoid writing an additional report by using expression-based grouping. For
example, you could use expressions to
design a report that features a grouping on
Region and let users drill down on
the value for a specific region. You can use
the same design technique to then let
users drill down on values for specific sites
in that region. Just set up a parameter called
GeoGroup and give it unique values such
as RegionID and SiteID, as Figure 4 shows.
In the data region, set your grouping to the
expression =Fields(Parameters!GeoGroup.
Value).Value, as Figure 5 shows. Now the
data region's grouping is parameter-based,
making the report reusable and more
flexible.
Go further with ReportViewer controls. Many SSRS implementations don't go
beyond deploying a report to the Web
and giving users a URL for access. But for
developers who want to create customized
parameter selection or integrate reports into
an existing application, the Visual Studio
2005 ReportViewer controls are the place
to start. There are two freely redistributable
ReportViewer controls: one for Web applications and one for Windows applications.
You can configure both controls to run in
remote mode (which retrieves and displays
reports from the report server) or local
mode (which processes a report based on
an .rdlc file deployed directly on the client).
An advanced feature of the ReportViewer
controls is the ability to consume a DataTable or public properties on enumerable
objects such as the report's DataSource. For
details about ReportViewer controls, see http://www.gotreportviewer.com.
Tapping Into Third-Party Tools
SSRS is still a relatively new product, but
it leverages the open
RDL standard for
defining reports. As the
product matures, more
third-party vendors
will offer tools that support and extend its
functionality. Here is a sampling of tools that
already can enhance your SSRS reports and
offer additional functionality.
OfficeWriter. If you've worked much
with SSRS, you've probably had report
consumers ask if they can export a report
to Microsoft Word or add a formula when
they export a report to Microsoft Excel. You
currently can't perform these functions with
SSRS, but you can with Software Artisan's
OfficeWriter. OfficeWriter creates templates
that let you export SSRS reports to either
Word or Excel,while preserving the functionality of a true Word or Excel document.
OfficeWriter also lets end users write reports
from within Word or Excel (without using
Visual Studio) and publish the resulting RDL
file to the report server. You can learn more
about OfficeWriter at http://officewriter.softartisans.com/officewriter-250.aspx.
Dundas controls. Dundas software now
supplies advanced controls for SSRS. The
Dundas Chart for Reporting Services
includes advanced chart visualizations and
additional chart types and statistical formulas.
If you're going to do more than basic charting
or want your charts to stand out, Dundas
Chart for Reporting Services is the way to
go. Dundas also offers three other components for SSRS: Dundas Gauge, which adds
dashboard and scorecarding features to reports;
Dundas Calendar, which adds date-related
visualization elements; and Dundas Map,
which adds map visualization features. For
more information about Dundas Chart for
Reporting Services, see http://www.dundas.com/products/chart/rs/index.aspx.
Barcode control. IDAutomation has
leveraged its .NET Forms Control to
render barcodes inside an SSRS report. For
more information about the company's .NET Barcode Forms Control, see http://idautomation.com/reporting_services.
SSRS Can Fit Your Needs
Because reporting is a key task in every organization, SSRS is a very useful tool.SSRS is
designed to help you quickly and efficiently
develop and deploy reports, but the more
product experience and knowledge you have,
the more value you can deliver to your users.
You'll soon begin collecting your own SSRS
tips and tricks and developing workarounds to
fit your needs.
End of Article
Prev. page
1
[2]
next page -->