Monday, 26 November 2007
This is one of the big buzz words in the database world at the moment. It can mean many different things, at the high end we could be referring to the results of processes such as data mining, whereas I tend to think of it as the value gained from very specific targeted queries that you may well have turned into a report.
Maybe thinking of it as a report is a little too simplistic but ultimately the intelligence is gleaned from the underlying data which is most likely to be presented in a report. I don't think either that it is necessarily something that you would see presented in black and white on the report but could well be the interpretation of that data in a new way!
If we ignore the high end statistical analysis which tends to be the hallmark of data mining and is normally performed by software such as Analysis Services on SQL Server (part of the 'higher' end versions), which performs statistical analysis of the underlying data. What are we left with? Well there is an awful lot to be gained from the imaginative (or not so) querying of a database. For instance a user may want to know who has bought a particular product over the past two years and who bought the most, which product is the worst seller and so on. Both of which can be answered by constructing the right query.
At Convallis these kinds of requirements can have more than one solution, the one chosen tends to rest on the merits of the project. The simplest solution to implement is one where a specific report is created and is made available from within an application (or SQL Server Reporting Services if that has been installed), it may not necessarily be an application written by Convallis. For instance, I recently implemented a report using the data querying capabilities of Excel.
A higher end and more flexible solution (and hence much more complicated) is to implement a tool which we have been developing and refining over the past 18 months. We call it simply 'the Query Tool', it isn't something that can be sold as a stand-alone product but is a technology that we can implement in a user application. We would do this to provide the ability to query the underlying data using terminology that the user understands, without the user needing to know how the underlying database is designed.
So the simplest description of it is to call it a reporting tool, although it is a bit more than that. This tool allows us to define a set of fields that a user can query and present them to the user in his own terminology. When using it the user can create a query in an editor, he can choose the fields to return in the results grid and constrain the data by selecting appropriate criteria (for instance a particular product), not forgetting the ability to choose how that data is sorted. The data can then be displayed in a grid from where it can be exported to Excel, PDF or Print.