Accessing and Managing Data
Data binding and management is a breeze with Telerik Reporting. The tool can consume multiple data sources at the same time, ensuring that organizations can deliver relevant information from almost any data source. Once added to the report, data can easily be manipulated, aggregated, and formatted through easy to use design-time expression editors and format builders. The robust data processing engine ensures that data is delivered to the user in fast and efficient manner.
Powerful OLAP Data Processing Engine
The intelligent Telerik OLAP data engine comes with all the needed backing to give you full control over the data in your reports, and boosts performance by only using the data needed by the report. It effectively balances the new trends of data processing by exploiting database-embedded calculations to get the best out of the available server resources. The processed data is fetched to the middle tier/client for in-memory storage and processing, taking full advantage of the near-instant data access that random access memory provides. The approach is programming language independent and data model neutral, i.e. your data binding expressions can be reused for any kind of data model.
Populating Reports with Data
Telerik Reporting provides handy data source components that can be used to codelessly bind data report items (tables, crosstabs, lists, and charts) to a wide range of data sources including cubes, relational databases, business objects, ORMs such as OpenAccess and Entity Framework, XML, and any ADO.NET data source. The variety of data providers that ADO.NET offers means that the report can be connected to the most used databases, such as SQL Analysis Services, SQL Server, MySQL, Oracle, Microsoft Access, OLE DB, etc. All data source components come with rich design-time support to help you bind your report items in minutes, and without requiring code.
Expressions, Mail Merge, User Defined Functions
Expressions are a very important part when working with data in Telerik Reporting. They are used to specify the data that will be displayed in a report and to manipulate the database fields, making them perfect for filtering, grouping and sorting. Expressions can also be used to conditionally format data, to define master-detail hierarchies, to embed data in a single field, and more. Expressions can also be embedded for merging data-driven information for the purpose of producing mail merge.
You can also create a set of pre-defined expressions (user defined functions) that can be used throughout a report, and which are available at both run-time and design-time. They are usually used to create Calculated Fields where field values are used in formulas, and are very handy for adding frequently used formulas to your reports.
The task of writing expressions is quite simplified by the Expression Builder utility, which provides a list of predefined and dynamic elements that can be used in your expression, such as aggregates, constants, database fields, and functions, making the process of creating expressions simple and effortless. There is no need to write code, nor event handlers.
Data Source Parameters
Data Source Parameters limit the data retrieved from the data source to just the data needed for the report. They can improve performance and decrease the memory footprint of your application, because the filter is applied directly on the database server and only the necessary data is downloaded on the middle tier or client machine.
By adding Report parameters to you report you will give your users the ability to modify the report data on the fly in order to get a deeper understanding of the data presented. Report parameters are used to specify the data to be used in a report, connect related reports and subreports, modify data presentation, and filter/sort/group data at run time.
Bindings allow you to bind report parameters and most items’ properties to an expression by using Binding objects. For example, you can bind the Style.BackgroundColor property of a TextBox item to an expression (=Fields.CarColor) that, when evaluated, returns an object of type appropriate for the property. This functionality is not limited to certain properties only – it is available for almost all report items’ properties.
Grouping, Sorting and Filtering Data
In many cases you will need to break the data into groups in order to make it easier to read and to analyze. For example, a list of products within a common category can be grouped by category. Telerik Reporting supports Grouping Report Data by triggering breaks in the report based on changes in the report data. Multiple levels of grouping can be nested within the report for extra clarity.
Sorting can be performed at both group and report levels. Group Sorting controls the order of grouping data, but not the report detail data. Group level sorting occurs before the sorting for the report as a whole to ensure that data is displayed in the proper order.
Filters are very handy when you need to limit the number of records in a report or group. By using the Edit Filter Dialog (available in Visual Studio) you can filter what records are included in the report. For extended flexibility, Telerik Reporting also supports creating multiple filter rules that can be defined to make up a single filter. In addition, the tool comes with helpful filtering presets such as top N, which considerably simplifies the job of creating filters. See online demo.
Telerik Reporting provides built-in aggregate functions which reuse already calculated values in other functions, without the need to recalculate the results again and again. It does this by utilizing accumulating values and running aggregates for data calculations. This functionality is exposed as User Aggregate Functions. You can apply custom logic to these accumulating values, and reuse the results in other functions, rather than computing the values each time for each function.