Official Support Area, Q&As, Discussions, Suggestions and Bug reports.
Forum's Guidelines
My code:
protected function setup()
{
$sql = "";
$sql_core = $this->GetSQLFatturato();
$parametri = array(":data_inizio" => $this->data_inizio, ':data_fine' => $this->data_fine);
$sql = "select a.NAZIONE, a.ANNO, a.PEZZI, a.FATTURATO, a.GRUPPOFAM, a.FAMIGLIA from (" . $sql_core . ") a";
$this->src('dati_produzione')
->query($sql)
->params($parametri)
->pipe(new Pivot(array(
"dimensions" => array(
"row" => "NAZIONE, GRUPPOFAM, FAMIGLIA",
"column" => "ANNO"
),
"aggregates"=>array(
"sum" => "PEZZI, FATTURATO",
)
)))
->pipe($this->dataStore('my_pivot'));
}
In your report'setup's Pivot process, use only NAZIONE for "row" like this:
//MyReport.php
->pipe(new Pivot(array(
"dimensions" => array(
"row" => "NAZIONE",
"column" => "ANNO"
),
"aggregates"=>array(
"sum" => "PEZZI, FATTURATO",
)
)))
Meanwhile, in your report view's PivotMatrix widget, set "waitingFields" like this for them to appear at the top:
PivotMatrix::create(array(
...
'waitingFields' => array(
'GRUPPOFAM' => 'label',
'FAMIGLIA' => 'label',
),
));
Let KoolReport help you to make great reports. It's free & open-source released under MIT license.
Download KoolReport View demo