When dealing with an enterprise application, I often heard the requirement of "reporting function" "run reports", "generate reports", etc. What is it referring to?
- Anybody can ask a question
- Anybody can answer
- The best answers are voted up and rise to the top
So, reporting mostly refers to the visualization and quering of Business Intelligence data. From a technical perspective, enterprise reporting usually involves (but is not limited to):
Apart for a few common reports that are relevant for almost every business (basic statistics, common ERP / CRM operational reports), it's impossible to predict what a client requires when asking for reports, as every business and market has quite different operations and needs. Reports may range from simple charts to extremely complex multi-dimensional queries.
Reporting is the activity of applying transformations to stored data so that the end user can get information or satisfy business needs such as invoicing, control, planning, etc.
Some examples of basic reports:
The above reports are referred to as 'operational reports' - They are built and used to control the operation of day-to-day business operations. Another type of reports exist to better control the business and make decisions about performance of the business in general and in particular against per-defined KPIs. Such reports pull information from one or more system and produce a 360-view to the management about a subject area or more. These reports are usually refereed to as Business Intelligence Reports For example:
There are still more types of reports such as Data Mining reports, I will leave that for you to research if you want.
The report may be as simple as a list or as an aggrigated format with controls and calculations. See for example
Reports, as you can imagine, may be consumed by customer, end-user, analyst, manager, etc. The business analyst defines the suitability of each type of report to each type of users. Managers usually use high level views of information structured in an appealing visual display commonly referred to as Dash Boards.
See this for example:
Reports are not only text. A report can display information in both text and graphical format as a chart or maps.
Reports can be the result of a simple query or the result of a series of integration operations (as is the case of large BI and data warehousing environments).
Tools exist to generate reports using either programming language or specific reporting tools or languages.
End-user tools such as Excel can be used for reporting. In fact Excel provides an advanced type of reporting called pivot tables reports.
More advanced tools exist such as:
Reporting can be performed in an on-linen environment or in batch. The subject is so wide to cover here, but I think you get the picture.
Usually such requirements are about generating some sort of statistical report(s) from the data gathered in the DB. Such as
etc. The exact kind of report is largely dependent on the business domain and the type of application in question. Usually such reports are backed by (SQL) queries to the DB, but the source may also be server logs etc. The results may be generated as an Excel/CSV file, visualized as a diagram, etc.