ColumnMeta Process

Number meta

nameincome
John 50,000
Marry 60,000
Peter 100,000
Donald 80,000

->pipe(new ColumnMeta(array(
    "income" => array(
        "type" => "number",
        "decimals" => 2,
        "decimalPoint" => ".",
        "thousandSeparator" => ",",
    )
)))
nameincome
John 50,000.00
Marry 60,000.00
Peter 100,000.00
Donald 80,000.00

The example demonstrates usage of ColumnMeta process to change data meta information.

String meta

->pipe(new ColumnMeta(array(
    "name" => array(
        "label" => "NAME",
        "type" => "string",
        "prefix" => "prefix_",
        "suffix" => "_suffix",
    )
)))

Number meta

->pipe(new ColumnMeta(array(
    "income" => array(
        "type" => "number",
        "decimals" => 2,
        "decimalPoint" => ".",
        "thousandSeparator" => ",",
    )
)))

Datetime meta

->pipe(new ColumnMeta(array(
    "joined_date" => array(
        "type" => "datetime",
        "format" => "Y-m-d H:i:s",
        "displayFormat" => "d-m-Y"
    )
)))
<?php
require_once "MyReport.php";

$report = new MyReport;
$report->run()->render();
<?php
//Step 1: Load KoolReport
require_once "../../../load.koolreport.php";

use \koolreport\processes\ColumnMeta;
use \koolreport\processes\Filter;

//Step 2: Creating Report class
class MyReport extends \koolreport\KoolReport
{
    protected function settings()
    {
        return array(
            "dataSources"=>array(
                "data"=>array(
                    "class"=>'\koolreport\datasources\ArrayDataSource',
                    "dataFormat"=>"table",
                    "data"=>array(
                        array("name","income"),
                        array("John",50000),
                        array("Marry",60000),
                        array("Peter",100000),
                        array("Donald",80000),
                    )
                )
            )
        );
    }
    protected function setup()
    {
        //Prepare data
        $this->src("data")
        ->pipe($this->dataStore("origin"));
        
        //Pipe through process to get result
        $this->src("data")
        ->pipe(new ColumnMeta(array(
            "income" => array(
                "type" => "number",
                "decimals" => 2,
                "decimalPoint" => ".",
                "thousandSeparator" => ",",
            )
        )))
        ->pipe($this->dataStore("result"));
    }
}
<?php
    use \koolreport\widgets\koolphp\Table;
    use \koolreport\widgets\google\LineChart;
?>
<div class="report-content">
    <div class="text-center">
        <h1>ColumnMeta Process</h1>
        <p class="lead">Number meta</p>
    </div>
    
    <?php
    Table::create(array(
        "dataSource"=>$this->dataStore("origin"),
        "cssClass"=>array(
            "table"=>"table-bordered table-striped table-hover"
        )
    ));
    ?>

<i class="fa fa-arrow-down" style="font-size:24px;"></i>
<pre style="font-weight:bold"><code>
->pipe(new ColumnMeta(array(
    "income" => array(
        "type" => "number",
        "decimals" => 2,
        "decimalPoint" => ".",
        "thousandSeparator" => ",",
    )
)))
</code></pre>
<i class="fa fa-arrow-down" style="font-size:24px;"></i>

    <div style="margin-top:20px;">
    <?php
    Table::create(array(
        "dataSource"=>$this->dataStore("result"),
        "cssClass"=>array(
            "table"=>"table-bordered table-striped table-hover"
        )
    ));
    ?>
    </div>

</div>

What People Are Saying

"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 and amazing."
-- Dr. Lew Choy Onn

"Fantastic framework for reporting!"
-- Greg Schneider

Download KoolReport Get KoolReport Pro