The KoolReport Blog

Announcements, discussions, and more for KoolReport and its extended packages.

KoolReport 2.43.0

We are very happy to let you know that KoolReport 2.43.0 has been released. We continue to make KoolReport the great reporting framework.

Core updates

It seems KoolReport core is quite stable now. Only a small change in this version compared to the previous one is the improvement for Google Chart when dealing with numeric column in string form. We were reported by one of our customers a mysterious error that broke his chart. Further investigation leaded us to the root cause. One of his column is supposed to be numeric type but stored in string form so Google Chart ran into trouble. In this version, if a column is specified type as number, we will enforce the rule by converting the value of that column to number.

Package updates

Beside the new version of core, we released new package version for QueryBuilder, DataGrid, Pivot and Excel.

QueryBuilder 1.4.0 has been fixed the WHERE statement when dealing with boolean type. In addition, we fixed the issue of wrong quoting name of table and column. Now the table.columnName will be generated correctly as 'table'.'columnName' in SQL statement.

DataGrid 1.2.0 contains improvement for cssClass property to add custom css classes for th, tr, td, tf. We also add the formatValue property to allow us to custom the display of column value.

Pivot 4.0.0 has biggest improvement for css. Now we can customize look n feel by overwriting its default css classes. Beside that, we added new command expand() at client-side to expand any level we want.

Excel 1.2.0 has been added new properties sheetName and sheetIndex in ExcelDataSource to let us specify exactly what sheet of excel we want to load. This will help us to avoid problem of Memory Limit Exceeded if we have large Excel file.

KoolReport Pro

Together with above releases of new core and extended packages, we released KoolReport Pro 2.43.0 containing all recent updates. If you own KoolReport Pro license, you may update now.

<3 koolreport team

KoolReport 2.42.0

We have released new version KoolReport 2.42.0 with some minor fixes. You may download and upgrade now!

PHP 5.4 Compatibility

In the last release KoolReport 2.41.3, we have used the class constant ::class to get the full class name of a class. However this feature is available in PHP >= 5.5. Those who uses PHP 5.4 will get errors.

With the promise to support PHP >= 5.4, we have replaced those class constants with strings containing real class names. This will help to solve the issues.

We would like to thank bysystem to let us know this issue.


We have fixed an issue of PdoDataSource with PostGreSQL when we try to set charset. Thanks Daniel Amamoo-Otchere for telling us this issue.


The new version 2.42.0 contains some minor fixes for KoolReport. For your information, we also release KoolReport Pro 2.42.0 containing above updates and new release of QueryBuilder 1.2.0.

Thank you very much!

<3 koolreport team

KoolReport 2.41.3 Released

We have released new version of KoolReport 2.41.3. In this version, we added new processes AccumulatedColumn and ColumnRename, made KoolReport work with composer's autoload and fixed several bugs.

New release of KoolReport 2.41.3


As you may know that in previous version, although KoolReport can be installed through composer but it was not able to use the default autoload provided by composer. As a result, we still need to include the koolreport/autoload.php file to make KoolReport work. Not anymore in the new version! Now after installing KoolReport package though composer, all classes will be loaded automatically without any extra work.


AccumulatedColumn is a process to help you generate a accumulated result from a column. Let say you have a sale_amount column, you may create a sale_balance with be easily with following code

->pipe(new AccumulatedColumn(array(

So you will have this result



Although you may rename the column using ColumnMeta process, we have made new process called ColumnRename to do this job. Renaming a column is common task so it is deserved a separated process. Below is an example to rename column from cName to customerName:

->pipe(new ColumnRename(array(

Bug fixed

The Group process has a bug which happens when we count row in a group that has only one row. This error has been fixed so if you use Group process, please upgrade to this version.

KoolReport Pro

Together with the release of KoolReport core, We also released KoolReport Pro 2.41.3 containing the latest core and all available packages. In this new version, there is following updated versions Pivot 3.3.0, Export 3.5.0 and QueryBuilder 1.1.0. If you own the KoolReport Pro license, you may login and download now. If not, please please consider to get one since it is the most valuable package you have ever found.


In this version, we continue to perfect KoolReport to make it the best reporting framework for PHP and we will continue doing so. We thank you very much for using KoolReport, for your trust and your endless support along the way.

<3 koolreport team

20% Discount For KoolReport Pro On Lunar New Year

Today is the first day of year 2018 in Lunar Calendar. This is the time when we enjoy family atmosphere, visiting relatives and giving each others the best wishes. In this special occasion, we would like to give you 20% OFF for KoolReport Pro.

Let us help you to create the best report!

<3 koolreport team

What is business analytics?

Business analytics is a method of diving in organization's data, using statistical analysis to explore the hidden information in the data. The ultimate goal of business analytics is to enhance the view of business and to support decision making process.

Business analytics

In those recent years, the term data-driven business has been emerged to indicate those companies treat their data as an assets and utilize it as the important competitive advantages. Sale and marketing, customer relation management are frontier areas that those companies aiming at. The business are transforming with data-back decision making. It is the trend, unavoidable trends that those who do not utilize will be left behind.

There are three (3) types of business analytics:

Descriptive analytics (Business Intelligence)

Descriptive analytics is normally used to track the performance of a business. It answers the question of how good is the state of business within specific timeframe. It answer the question of

  1. What happens in business?
  2. Who involved?
  3. When?
  4. Size of effects?

There are boom of tools for this kind of descriptive analytics that we can name some such as Microsoft Power BI, Tableau and Qlik. Those tools will help organization to get insight view of current state of business, setting up the business alert through threshold, real-time report and so on. The tools are even made easier so that people with little knowledge of data science can access and use. There are no need of data analyst, although better to have, to use the tools.

Predictive analytics

If descriptive analytics is the basic of business analytics, the predictive analytics is advanced one. It use the data to sketch out the trends and predict the future outcomes. This is difficult area and normally required data expert in an organization. The work involves so much in building predictive model which can be simple as linear regression or complex as neural network AI.

Prescriptive analytics

This is the highest level of business analytics in which the past business performance will be used to create recommendations to handle similar situations in the future. It can help to answer questions of

  1. Why did it happens?
  2. Will it happens again?
  3. What will happens if we change X?
  4. What else data tell us what we never thought to ask?

Do not confuse this with predictive analytics since predictive analytics may show us the trends, the possible outcomes but it does not tell us why. On the other hands, the prescriptive does. Predictive analytics know what will happens but prescriptive analytics know why it happens. It can simulate the situation when some variables change. This advance will provide the management level in an organization the ability to browse through the options and know what will happen. Furthermore, it can tell us things we are not aware of. It kills the business risk of being unaware of unknown problems.

Business Analytics is wide area and the it will change business profoundly. The recent technology such as big data, cloud computing, deep learning makes us to get close to business analytics ever.

Some questions related to KoolReport

Where is KoolReport now in this big picture?

KoolReport now is early stage of business analytics. Specifically, it is in the state of descriptive analytics (business intelligence), the lowest level. It helps to unite data from different sources, process and summarize it then visualize it in meaningful way. It is suitable for creating report (KPI. metrics), online dashboard (the summarization of current state of business), OLAP(pivot, cube, slice, drilling report).

It is like a baby need to learn crawling before he/she can walk. We believe that doing well in this stage will be a foundation for us to move to the next.

Where KoolReport is heading to?

Of course, we want to move up step by step to the latest level of business analytics.

Why are you confident?

KoolReport is built as open-source framework for reporting. Why? Because it will be open to any contribution of third party. Everyone can build extended packages to process data. The hidden power of KoolReport is lying in its lego structure in which extended package can be used in plug and play manner. KoolReport hopes to be the hub to connect business who need data processing solution and third party who can provide it. In general, we aim at creating a market for it. And by this way, KoolReport will have chance to move up step by step from lowest level of business analytics to the highest one.

KoolReport helps to analyze your data and ultimately turn them into visual reports or dynamic dashboards.

"KoolReport helps me very much in creating data report for my corporate! Keep up your good work!"

Alain Melsens

"The first use of your product. I was impressed by its easiness and powerfulness. This product is a great product and amazing."

Dr. Lew Choy Onn

"Fantastic framework for reporting!"

Greg Schneider
Get KoolReport Now, It's FREE!