Home > SSW Standards > Developer .Net > SSW Guidelines for Report Solutions
What do you do reports in?
There are so many options for reporting. There are two main types of reports
-
Detail Reports. Printable reports that show detailed information for each row in the database. (e.g. an Invoice)
-
Summary Reports. Business Intelligence Reports that group and summarise data into counts and sums of individual rows (e.g. a Monthly
sales with a chart)
Some of the main options:
Web and Windows - SQL Server Reporting Services
-
Pro: Export reports to a large number of different formats (html, pdf, office components, image)
-
Pro: Scheduling report execution and emailing reports
-
Pro: Multiple data source types
-
Pro: Integrated report designer with VS.NET
-
Pro: Web-based management interface, with incorporated security
-
Con: Limited charting capabilities (will be expected to improve)
-
Con: Querystring loading functionality works, but it isn't shown in the browser
-
Con: Limited control set (although the controls are very rich)
-
Con: Difficult to integrate user input and dynamic behaviours
-
OLAP: Works but need to know MDX
Web - ASPX
-
Pro: The DataGrids
-
Pro: QueryString that can be emailed
-
Pro: sorting hyperlinks
-
Con: users cant do it
-
Con: Hard to make print OK can do it with CSS Printing
-
Con: Impossible to make it print for multiple page reports
-
OLAP: Works but need to know MDX
Web Crystal Reports
-
Pro: Great Printing - Easy to export to .pdf for printing
-
Pro: Easy to export to .xls for analyzing
-
Pro: Quicker to develop than ASPX -
-
Pro: If client has specific needs for exactly how the report should look you can be specific
-
Pro: Integrates well with Strongly Typed Datasets
-
Pro: drill down feature
-
Con: users licensing costs if > 5 concurrent reports
-
Con: no sorting hyperlinks
-
OLAP: Works but need to know MDX
Web Active Reports
-
Basically an alternative if you were to choose Crystal
-
Con: Not in bed with Microsoft like Crystal
-
OLAP: Works but need to know MDX
Web - XML/XSL inside an ASPX page
Windows - Access
Windows - Excel
-
Pro: Quicker to develop
-
Pro: Admin staff can change it
-
Pro: Can embed components on the web
-
Con: to add the filter fields (or any customisation) you need to add code
-
OLAP: Works great and hides the complexity
Windows Crystal Reports
-
Con: no QueryString that can be emailed
-
OLAP: Works but need to know MDX
Windows Active Reports
-
Con: no QueryString that can be emailed
-
OLAP: Works but need to know MDX
Windows - Data Analyzer
-
Pro: Create for seeing data trends for little work
-
Con: Can use for detail type reports
So which one when doing detail type reports? (usually printable ones e.g.
an Invoice)
Because you can't control the report length and need strong layout control,
a proper reporting solution is the best option. Hence Reporting Services and
Crystal (although not naturally my second choice), but the fact is you just dont know if the report is going to be multiple pages so:
-
Web and Windows - Reporting Services
-
Web Crystal Reports
-
Windows Crystal Reports
Note: the same report can be used on both web and windows
-
Web Active Reports
-
Windows Active Reports
Then
-
Windows - Access
-
Windows - Excel
-
Web - ASPX
-
Web - XML/XSL inside an ASPX page
So which one when doing summary type reports (usually business intelligence ones e.g. monthly sales with a chart)
For these reports, the important thing for me is development time, having drill down functionality and the ability to put the reports on
the web. Also I really like having reports with a query string, so it can be emailed/Instant messaged. Below is a general guide as to the
order I choose, based on these requirements:
BTW This is not in concrete and we use all the below options for different clients.
-
Web and Windows - Reporting Services
-
Web - ASPX
-
Windows - Excel
-
Web Crystal Reports
-
Web Active Reports
-
Windows Crystal Reports
-
Windows Active Reports
-
Windows - Access
-
Web - XML/XSL inside an ASPX page
If OLAP is in the picture then
-
Windows - Excel
-
Windows - Data Analyzer
Rich Client and Web Client Options
Rich Client Options
Web Client Options