Nowadays, the companies are working with more and more data.
The high amount of data is typically stored in data warehouse and queried by OLAP
(On Line Analytical Processing) databases in order to examine high level relationships between data.
The analysis is based on data aggregation queries (for example, calculating the sum or average).
Such an OLAP database is Oracle Essbase, which is widely used database in the industry.
However, the formalization of the above-mentioned queries have some difficulties: (i) the
development environment does not validate the query and data manipulation operations, (ii) as a
declarative language, it is hard to detect errors, and finally, (iii) errors often results in empty
solution, from which the developer cannot conclude on the error. Additionally, the developement
environment offers little help, as a the query is edited as a simple text file.
Furthermore, the result set is an n-dimensional matrix, which is complex and difficult to
comprehend. Moreover, there are two Essbase query languages with two different but overlapping functionality
(Report scripts and MDX). Unfortunately, some specific problems require the
combined use of the two languages.
The example of these specific problem is cost allocation, where an aggregated value need to be distributed to
To solve the above-mentioned problems, I created a new query language, and an
editor environment for OLAP queries. The language allows to combine the advantages of two kinds of
query language (Reporting script, MDX).
My aim is to prepare a high-level reporting and query language, which
solve this problems and difficulties.
In my thesis I present a Xtext-based language, which can query from the
database, and to be able to use this new language, i make an
Eclipse-based text editor, where the developers can run the written queries.
Finally, i visualize the results of queries with Latex to illustrate the solution.
Based on these, the developments will be much faster and more efficient because
the developers don't have to use two- kind of programming language. More
efficient, with less work it is possible to write the the same or more complex
queries or special operations.