What is DataTime ?

Datatime Reporting Solution is a software system to extract, transform, aggregate, and represent the data stored in DBMSes. It can perform a number of useful tasks. For instance, you can extract and aggregate any data from any database and format the result into a Report. Or you can also transfer data from multiple different DBMSes to a target DBMS. You can, for instance, also load several excel sheets to a target DBMS and it can either create a Union or a Join of selected fields from the sheets.  
DataTime is actually a world of functionalities which allows you to perform all the most useful task when dealing with any kind of data.

DataTime also helps you create your queries through a visual Query Builder. Each query you create is completely customizable and you can even embed Queries or SQL script created by other programs. Further, DataTime allows you, if necessary, to transform arbitrarily (through a Visual Basic program) the records extracted by your query, by applying a programmatic ETL layer.

A DataTime Report is document which can contains several kind of objects, such us ReportGrids, Images, Gauges, Charts, Text, etc.
Datatime is able to create beautiful reports with dashboards and charts which are "linked" to the data, in the sense that when the data change and the report is regenerated, the charts and dashboards are automatically updated according to the new data. The report regeneration can be scheduled and reports published on the web can be automatically updated.

The GUI used to create reports (Report Designer) resembles programs such as Word or Quark Express. You may think about the Report Designer as a page layout application built on top of a powerful ETL / Reporting engine. Further, the "ReportGrid" objects can be thought of a sort of Excel-like program, with a specialization to deal with large mass of data and perform bulk processing and formatting.

Datatime reporting engine is the most general and powerful you can find, and it even reaches levels of abstractions you will never need. It would also be able to create crosstables of crosstables. The aggregation algorithm for the measure can be arbitrary. Infact along with a large set of predefinied functions, you can easily provide your own custom code (Visual basic) which performs the aggregation.

Reports are fully customizable. It is also possible to define Alerts and Conditional formatting on the ReportGrids, to change the appearance of the cells when some event takes place. The Alert system is fully customizable and the event condition can be any program provided by the user.
On the ReportGrid, new custom fields can be defined, based on arbitrary functions provided by the user.

DataTime Reporting Solution is well integrated within .NET. There are infact at least 7areas which accept directly code written by the user with Visula Studio:

- ETL (any arbitrary transform function can be defined)
- data Aggregation (any arbitrary aggregate function for a report measure can be defined)
- Grid Functions /  Grid Functions totalling (any arbitrary grid function can be defined)
- Alerts / Conditional formatting (alerts are based on user boolean functions, to trig events on cells)


1.  Web Reporting


The reports can be published on the Internet and accessed by remote users by common internet browser (no client software required) such as MSIE (Microsoft Internet Explorer) or FF (Firefox). Infact, the web reports created by DataTime are pure and simple HTML/CSS.

On the other hand, they can be made fully interactive by using the Report Portal Open Solution. In fact, DataTime reports can be used either stand alone or within the Report Portal Open Solution. In the second case, you can have a controlled access to the reports and the users can possibly (if have the appropriate permissions) drill down, roll up, regenerate (parametrically if necesssary) the report. Read about possible web architecture for DataTime reports. The magic of interaction with the web reports is made possible by the functionalities provided by the Report Portal (a mix of DataTime DLL Libraries and Javascript functions to interact with the reports).

Further, a user equipped with the Client User Designer, can also redesign remotely the report layout (within the "constraints" imposed at design time by the administrative user) and, under appropriate permissions (stored in a metadata database), can reload the new report to the server. The reports can always be scheduled, and event notifications can be sent to multiple recipients.

2. ETL

Functional to reporting, DataTime has a flexible ETL engine which allows the user to design the "extraction rule" (which we refer to as the Data Source). The user can either upload an existing query script, possibly generated by another program, or there is a Query Builder which can assist the user to create an extraction query from scratch and the user can finally make manual changes on the extraction code. There are 2 possible "layers" of ETL: a layer of SQL code and another layer of custom code. The code can be written directly into the designer or it can be a program pasted from the Microsoft Visual Studio IDE. This allows great flexibility as any transformation can be applied on the fly, while the data is being extracted.


3. Federate Database integration, Load tasks

You can "join" multiple queries on several different remote DBMS (for instance Oracle, Sybase, SQL server, Access, MySQL, etc.) and store the result into another target Datawarehouse. The program takes care of table upload and creation, data type mapping, and several other details, while giving the user full control over them. The upload task can be scheduled.

4. Scheduler
The possibility of scheduling Reports and Load task is integrated within the solution. There are 2 kinds of scheduling: Daily events and trigger-based events. It is possible to cause events from remote by a trigger file and it's possible to pass execution parameters to control the report regeneration.


Platform

DataTime runs on the .NET framework, ver. 2.0+, and it addresses any DBMS platform. In fact DataTime features universal connection capabilities: the only prerequisite is that it be able to find the OleDb client software for the target DBMSes on the host machine.
So you can easily move and transform data from AS400 to SQlServer, from Access to Oracle, from Sybase to MySQL, from Excel to DB2, and so on.