Patent ID: 7925658

Claim:
A method of generating a report, comprising: obtaining a query via a graphical user interface using a virtual relational database such that data in a data source appears to be stored in a relational database, the data source including one or more files having a hierarchical file format, the virtual relational database including one or more virtual tables, each of the virtual tables including one or more virtual columns, wherein the query identifies at least one of the virtual tables and at least one of the virtual columns of the virtual relational database, wherein a mapping maps the virtual relational database to at least a portion of the data in the data source, wherein the virtual relational database does not store data; obtaining data corresponding to the query using the mapping, wherein the data is not obtained from a relational database, wherein the data is not stored in a relational database; generating a report including the obtained data; wherein the hierarchical file format includes a plurality of data elements, each of the plurality of data elements having an element name; wherein each of the virtual columns corresponds to one of the plurality of data elements, wherein generating a mapping comprises: incrementing a number upon encountering one of the plurality of data elements or a closing tag for the one of the plurality of data elements, wherein the one of the plurality of data elements is associated with one of the virtual columns; and inserting the number as a primary key into at least one of the files or an intermediary data structure such that the number identifies the one of the virtual columns.