Electronic and printed reporting is used in many areas of our life. Can you imagine an accountancy without annual reports? Or a transport company without invoices? One way or another, reports are of a great importance in production and business. That is why the report generator programs are just as important as the DBMS. But, as well as various DBMSs, different report generators have their strengths and weaknesses.
Let us consider two bright representatives, that have settled in the software market for a long time ago:
In opposition to SSRS, I deliberately took a not very well-known FastReport .NET. It is interesting to compare a product from the leader of the software market and from a small company.
In this article we will conduct a series of comparisons and tests. Since the volume of the article is not supposed to be small, I propose to divide it into three parts.
In the first part of the article you will find out what features are offered in each of the considered report generators.
Let us start from the user interface - the report designer. Fairly, the report designer can be considered the most important component of the report generator. Users' attitude to the entire product depends on the convenience of creating a report. Let us take a look at the Reporting Services front-end interface:
Everything in the picture looks clear and concise. It is done in the style of MS Office 2007. It must be mentioned, that it is a very good idea with toolbars grouped by purpose on separate tabs. Now this style is adopted by many users. People who work with MS Office will quickly master this interface. On the left there is a report data, in the center - the work area. It is easy to create reports in such a designer.
And now look at the FastReport .NET designer:
Are there any similarities between the two previous screenshots? In the last one the upper toolbar is used in the MS Office 2007 style. On the left there is a component panel, whilst on the right there is a data tree. In the middle there is a workspace. Everything is easy to be understood and be worked with. However, there is one feature in the report template architecture - bands. These are containers, that delimit the information for the intended purpose. At the beginning of the development of FastReport .NET, this will take time to understand, but the advantages of this approach level out these costs.
Both designers are understandable and easy to use.
Functionality for creating reports
Now let us take a look at the basic capabilities of generators in creating reports.
In the table below there is a list of the following functionality:
Feature |
SSRS |
FastReport .NET |
Multiple report pages |
|
✓ |
Dialogue form pages |
|
✓ |
Built-in report script |
✓ |
✓ |
Hyperlink embedding |
✓ |
✓ |
Event handlers |
|
✓ |
Expressions |
✓ |
✓ |
Right-to-left text support |
✓ |
✓ |
Localization of UI |
✓ |
✓ |
Infinite page |
|
✓ |
Interactive reports |
✓ |
✓ |
Final report modification |
|
✓ |
Let us consider the functions in detail:
Multiple report pages. As a rule, we create a report template on a page. Then, when building a report, this template is filled with data. If the data does not fit one page, then a new one is created and so on. ( a multi-page report is a different thing).
This refers to several pages with different templates. For example, the first page is the title page, the second one is the table of contents, and the third one is the content. Thus, your report consists of three pages, each of which is filled with its own data. With this capability, you can create complete documents such as a booklet.
Dialogue form pages - forms, which are usually displayed before the report is built. Such forms are used to request data from the user. For example, you can filter it by the input value or set the number of output columns. This feature avoids the creation of a special application with a form of presetting the report.
Built-in report script. There are always tasks, that can not be done with the standard tools of the report designer. For example, complex calculated fields or a specific logic in the construction of a report, depending on the data. Here comes the help built, into the report script. It allows you to work with report objects in the program code. This feature greatly extends the capabilities of the report generator, making it flexible.
Hyperlinks helps to give the report some interactivity. A user will be able to click on the links to the specified positions in the report or to receive a detailed page for the selected data.
Expressions - an ability to create arbitrary expressions on the basis of data or with the help of built-in functions (mathematical, text, etc.). Using expressions, you can, for example, add all the values of the required field to display the total amount, or convert the date to another format. Expressions in reports are very important tool, without them you could only output data from the source in their original form.
Supporting text from right to left is relevant for Arabic languages, where text is written from right to left. Such a function should be in every "self-respected" report generator.
Localization of the user interface - an ability to select the desired localization language. The more languages supported the more potential users have this report generator.
Infinite page - an ability to set the infinite width and height of the report page. Thus, you can print large tables and matrixes without page breaks. This can be convenient in web reports or simply if you do not plan to print a report.
Interactive reports - reports that respond to user actions. It can be hyperlinks, bookmarks, drop-down list, pop-up messages.
Final report modification - an ability to modify the report without rebuilding. This is implemented using a report script.
The table above shows that in some aspects FR.Net moves ahead of SSRS. The product from Microsoft does not allow you to create reports with multiple page templates. Also, a infinite page is not accessible to him. A report is always displayed on pages of a fixed size. Again, you will not be able to modify the constructed report, although this is quite an exotic need.
I would like to mention the dialogue form. In SSRS, this form is displayed at the top of the report, and in FR.Net - as a separate form before building a report. And from this form, you can call another one, which allows you to make the report more logical.
Based on the results of the comparison of the functionality in creating reports, the advantages of FastReport are clear. Perhaps it is the greatest experience of the company in the development of report generators, because it created its first generator in the early 2000s, while Microsoft did it in 2004.