The KoolReport Blog

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

KoolReport 4.5.1 has been released!

We are happy to announce that we have released KoolReport core version 4.5.1 with new features. The KoolReport Pro also reaches same version number 4.5.1 with the new core update and the upgrade of individual packages such as Excel, Inputs, D3, ChartJs.

KoolReport's class

KoolReport's class is provided with new getXml() method to get the representation of your report in xml format. The xml contains both data and meta data of all report's datastores.

DataStore

In this version, we continue to enrich methods of datastore. DataStore has a new method called distinct(). As the name suggested, distinct method will have you to get a list of unrepeated values from a column. Furthermore, Datastore is provided with new toArray() and toJson() methods to get array and JSON. This could be useful if you need result in array form for further processing or JSON format to be returned in your REST API.

New DataSource

We have added new DataSource called ExistedPdoDataSource to handle source in case you only have the PDO object but connection settings. So you only need to send your existed PDO object as parameter to your report and provide it with ExistedPdoDataSource in settings() method.

JsonSpread process

JsonSpread is a new processed added to KoolReport in order to spread JSON data into column in data stream. By doing so, we are able to apply other KoolReport's processes to further process the JSON data.

Support CI/CD process

Since the popularity of CI/CD process, KoolReport library now fully support this new type of software integration and delivery processes. We understand the 1 hour token availability causes trouble for the automation delivery so we have increases the life time of token to maximum. In particular, the token will last until your subscription of KoolReport Pro is ended. If you have purchase the Perpetual Usage, the token expiration will be set the 2100-01-01 which is virtually life-time or never expired.

Support load balancing

If you are using load balancing with multiple servers containing app (with KoolReport integrated), the generated resource folders now have same name in all servers. So virtually, the client-side will be able to receive resource files regardless of servers it connects to.

D3Chart Client Events

The D3 chart has been upgraded with one of the most crucial features: client events. This is the missing part in D3 first version. Now all charts support itemSelect event which help you to track the click of user to item on the charts. Now D3 is able to work with DrillDown package to provide interactive drill down report.

DrillDown supports D3

Missing client events hindered the collaboration of DrillDown package with D3 chart. But not anymore, since the D3 package has supported the client events, the DrillDown package also support generate D3 Chart. By specifying the D3 chart as drilldown widgets, the DrillDown will bind itself to D3 itemSelect to provide interactive report.

Excel Package

We have fixed the PieChart display in Microsoft Excel and a minor bugs happened when data is missing.

ChartJS Package

We have upgraded the core of ChartJS to latest version of 2.9.x. With this new upgrade, some of known issues has been addressed. Furthermore, we have provided new plugins property which allows you to use most popular plugins for ChartJS like datalabels, annotation, stacked100 and others.

Inputs Package

Due to the upgrade of FontAwesome library in previous KoolReport's version, some of the icons have not been displayed correctly. This issue has been addressed in this new version of Inputs package.

New Yii2 Package

In this release, we roll out new package koolreport\yii2. As the name suggested, yii2 package will facilitate the integration of KoolReport with Yii2, one of the most used frameworks in PHP. Similar to other integration packages that we have created before like laravel or codeigniter, the yii2 package will help to auto configure report's assets settings and allow report to access to default database connection setup within Yii2.

Summary

The version 4.5.x added new features and empowered reporting capability to KoolReport. This upgrade is backward compatible with old 4.x versions so feel free to upgrade. If you need have any question about this new release, do not hesitate to let us know.

Thank you!

<3 koolreport team

Drill Down and Drill Through Report in Advanced Data Reporting

Drill down and drill through are two extremely powerful features in business intelligence. They both give the user the ability to see data and information in more detail–although they do so in different fashions.

Drill Down and Drill Through Report

Drill Down

Drill down is a capability that takes the user from a more general view of the data to a more specific one at the click of a mouse. For example, a report that shows sales revenue by state can allow the user to select a state, click on it and see sales revenue by county or city within that state. It is called “drill down” because it is a feature that allows the user to go deeper into more specific layers of the data or information being analyzed.

Further levels of drill down can be set up within the report–practically as many as supported by the data. In our example, the drill-down can go from country to state to city to zip code to specific location of stores or individual sales reps. Typically, the look and feel of each level of the report is similar–what changes is the granularity of the data.

  1. Example 1: Sale By Time
  2. Example 2: Sale By Location

Drill Through (MultiView)

Instead of taking the user to a more granular level of the data, drill through takes him to a report that is relevant to the data being analyzed, also at the click of a mouse. For example, a tabular report that shows sales revenue by state can allow the user to click on it and reveal an analysis grid of the same data, or a heat map representing the data in visual form. It is called “drill through” because it is a feature that allows the user to pass from one report to another while still analyzing the same set of data.

  1. Example: Sale By Month With Different Views

Benefits of Drill Down and Drill Through

Gain instant knowledge of different depths of the data – Drill down gives the user a deeper insight of the data by letting him see what makes up the figures he’s analyzing. For example, in mere seconds, drill-down answers questions such as: of my National sales figure, which states are performing better? Which states are underperforming? And within each state, which territories are driving revenue?

See data from different points of view – Drill through allows users to analyze the same data through different reports, analyze it with different features and even display it through different visualization methods. This greatly enhances the users’ understanding of the data and of the reasons behind the figures.

Keep reporting load light and enhance reporting performance – By only presenting one layer of data at a time, features like drill down lighten the load on the server at query time and greatly enhance reporting performance–while offering great value to the end-user.

<3 koolreport team

KoolReport 2.0.0 + 30% OFF For Pro Version On Special Christmas

Merry Christmas! On this special occasion we are glad to let you know that we have released KoolReport 2.0.0 and having special promotion with 30% OFF for KoolReport Pro.

Introduce SubReport

SubReport is the most highlighted feature in this release. SubReport allows a report to be rendered inside a main one. This allows us to handle bigger reports by dividing into smaller, separated reports. Also this will help to improve the reusable code among reports, leading to shorter code and limit redundant codes. Furthermore, some application of SubReport can interest you:

  1. Create real-time report in which charts and graphs are automatically updated.
  2. Make data-driven group of input controls.
  3. Build drill down report type.

We made a small example to demonstrate usage of SubReport. View example.

Google Charts

There are big improvements for Google Charts in which charts loading method are rewritten completely to enhance the stability of rendering as well as to add the ability of loading Google Charts via ajax and subreport.

Google Charts are also equipped with client-side events now. For example, we can catch the selection action of user on charts to take further actions.

Table

Table also has much improvement with localization/language and client event handling features. We now can change language for Table as well as catch the row selection to take further action.

Other enhancements

  1. Update the parameter binding for PDODataSource, MySQLDataSource and SQLSRVDataSource.
  2. Ability to further process data in the report's view. For example, data in DataStore can be further filtered for specific charts or table.
  3. Fix the template() function and add language loading capability for Widget

To get new version of KoolReport, click here.

Christmas and New Year promotion

In this special occasion, we would like to give 30% OFF for KoolReport Pro.

Check it out!

Merry Chirstmas and Happy New Year!

<3 koolreport team


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!