When dealing with an enterprise application, I often heard the requirement of "reporting function" "run reports", "generate reports", etc. What is it referring to?


Reports in an enterprise application context usually refer to Business Intelligence reports. A broad definition of Business Intelligence, from Forester Research is:

Business intelligence (BI) is a set of methodologies, processes, architectures, and technologies that transform raw data into meaningful and useful information. It allows business users to make informed business decisions with real-time data that can put a company ahead of its competitors. Traditionally, core features like reporting and analytics have been the focus of BI technology choices, but as those features get commoditized, a whole new set of possibilities has emerged. Forrester's BI research shows that the technology is evolving and that enterprises on the cutting edge of these new trends can gain competitive advantage in their industries.

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.

  • 2
    Wish I could upvote this more than once. Well done on a superbly complete answer. – John N Nov 7 '11 at 8:19
  • it's impossible to predict what a client requires when asking for reports I am glad that others believe this as well. Customers always think about reporting last and whatever you deliver is either never enough, not targeted to their needs, or too complicated for them to figure out how to use effectively. – maple_shaft Nov 7 '11 at 12:33
  • @maple_shaft and sometimes even the client doesn't know... I'm in such a situation right now, it's going to be a hell of a month... – yannis Nov 7 '11 at 12:35
  • @YannisRizos I feel your pain... – maple_shaft Nov 7 '11 at 12:58
  • From a developers perspective it's of course also important that data mining, analytics, reports, visualization, etc, is impossible without having first gathered the data to be used. Which can be a challenge in by itself. Especially when report requirements change or are not set... – Svish Nov 7 '11 at 13:15

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:

  • In a retail system, you get a receipt after making a payment. This recipt is a type of report.

  • In a retail system, the manager may want to pull all the items that will expire in a given data.

  • In an HR system, an HR manager may want to list people who's salaries > 100K

  • Stock items shortage report, shewing items that reached re-order level and must be ordered to satisfy expected customer demand.

  • System failure analysis reports showing time of system failure and associated messages

  • In a banking system, a monthly statement is a report.

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:

  • Inventory across Regions, states, stores

  • Sales of different goods across Regions, states, stores

  • Customer consumption of goods from organization

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

Group View Report

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.

See: Pivot Tables in Excel

More advanced tools exist such as:

Advanced Analytics

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

  • hourly/daily/monthly sales volume
  • most purchased goods during last day/week/...
  • most active users during last day/week/...
  • who modified a given contract, when and how

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.