The KoolReport Blog

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

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.

New Features Of Instant Package 2.0.0

We have just released the Instant 2.0.0 with new features: Report Settings and new Exporter class. The Instant package is Free to download and also be available in the KoolReport Pro 2.32.7.

Report Settings

As you may know that Instant package helps us to use Widget of KoolReport instantly without setting up a whole report. You can use the Widget like Table or Chart in right in your php file. However, due to not setting up report, the resources of Widget may not able to publish to assets or public location which they can be accessed. In this new version, we allow Widget::create function to receive the third parameter which is the settings of temporary report. This feature is extremely important if you are using modern MVC frameworks like Laravel, CodeIgniter.

Widget::create(Table::class,array(
    "dataSource"=>array(
        array("name"=>"Peter","age"=>35),
        array("name"=>"Karl","age"=>32),
    )
),array(
    "assets"=>array(
        "path"=>"../../public/assets",
        "url"=>"/assets"
    )
))

Exporter

New Exporter class allows us to export any HTML or PHP file to PDF or other format.

<?php
require_once "koolreport/autoload.php";
use \koolreport\instant\Exporter;

Exporter::export("/full/path/to/your/file.php")
->pdf(array(
    "format"=>"A4",
    "orientation"=>"portrait"
))
->toBrowser("myfile.pdf");

As you can see, now it is very easy to utilize the power of Export package to export any file to PDF. It does not limit to export the report of KoolReport.

Summary

The new version of Instant package extends the capability of using KoolReport power outside of its environment. This adds flexibility to the usage of KoolReport for general purpose. We are working hard to make KoolReport the best library for reporting as well as extend its usefulness.

<3 koolreport team

Amazing KoolReport 2.31.7

If the last version was a big improvement, this new version of KoolReport is even bigger with a lot of changes. Better structure, syntax improvement, new processes, new widget features. All backward compatible so do not hesitate to upgrade KoolReport core.

Amazing PHP Reporting Tools

Widget's dataSource

In the new version, new dataSource property is introduced to Widget. dataSource property can receive various type of source: array, DataStore object, DataSource object or even Process object. Let take Table widget as an example:

//Normal dataStore
Table::create(array(
    "dataSource"=>$this->dataStore("mydata")
));
//From Array
Table::create(array(
    "dataSource"=>array(
        array("name"=>"Peter","age"=>35),
        array("name"=>"Karl","age"=>32)
    )
));

Table::create(array(
    "dataSource"=>array(
        array("name","age"),
        array("Peter",35),
        array("Karl",32),
    )
));
//From DataSource
Table::create(array(
    "dataSource"=>$this->src("automaker")->query("SELECT * FROM orders")
));
//From Process
Table::create(array(
    "dataSource"=>(
        $this->src("automaker")
        ->query("SELECT * FROM orders")
        ->pipe(new Group(array(
            "by"=>"customerId",
            "sum"=>"amount"
        )))
    )
));

The previous dataStore property is still working so you do not need to change your code when upgrading to new KoolReport version. However, in the future, please utilize the powerful dataSource property of Widget.

Table Group Header

One the the most requested feature is to provide the group header for Table widget. Now you can group some of the columns under a bigger name group.

Table::create(array(
    ...
    "headers"=>array(
        array(
            "kpi"=>array(
                "label"=>"All KPIs",
                "colspan"=>"4",
            )
        ),
        array(
            "visit_kpi"=>array(
                "label"=>"Visit KPIs",
                "colspan"=>"2",
            ),
            "action_kpi"=>array(
                "label"=>"Action KPIs",
                "colspan"=>"2"
            )            
        )
    ),
    "columns"=>array("visitors","pageViews","downloads","purchases"),
))

As a result of above code, we have two bigs group which are "Visitor KPIs" and "Action KPIs" and under each, there are two sub columns. "Visitor KPIs" has "visitors" and "pageViews" and "Action KPIs" has "downloads" and "purchases". There is no limitation on number of header level you can group.

New Way To Pipe Process

We have added a static function process() so beside the old way to create Process, this is the new way:

...
->pipe(Filter::process(array(
    array("age",">",35)
)))
->pipe(Group::process(array(
    "by"=>"city"
    "avg"=>"income"
)))
...

QueryBuilder

QueryBuilder is our new package which helps to generate SQL Query faster and more precisely. So instead of keying in the raw SQL Query, now we can use the QueryBuilder to generate.

$this->src('automaker')->query(
    DB::table('payments')->whereYear('paymentDate','2017')
)

The QueryBuilder package helps you to prevent SQL Injection and eventually improve the security for your data. The package is free and can be downloaded here.

Note: Although QueryBuilder is a package of KoolReport, you may download and use it as standalone to generate SQL Query for your application. It support MySQL, SQLServer and PostgreSQL now. The more SQL language will be added in the future.

Summary

Above are some highlights for new changes, there are number of other changes inside the KoolReport that we did not list here due to the length of the list and there is no visible effect that you can see. But those changes are every important to strengthen the structure of KoolReport so that it can support new kinds of data visualization widgets and new data processes later on.

KoolReport 2.31.7 is a worth version to upgrade. If you upgrade, please also upgrade all packages that you own since the old packages may not work well with new version of KoolReport.

We also released new version of KoolReport Pro 2.31.7. This new version contains the most updated packages and the new packages also. Please download! If you have not owned KoolReport Pro, please consider to get since it is the most valuable suite that you can find for reporting. We keep adding more and more valuable packages to the suite so the price could go up further so better to get it now to secure the price. KoolReport Pro also goes with Full Source-Code and Priority Support.

Oh not to forget, please check out new DrillDown package and new PivotMatrix widget.

Enjoy!

<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