Una utilidad muy grande es crear reportes gráficos, sirve mucho por ejemplo para ver todo lo que se facturó en un mes o cuestiones similares.
Cuando estuve realizando mi proyecto, utilicé la siguiente extensión: eflot yii para crear reportes gráficos de forma personalizada.
Lo único que deben de hacer es descargar y agregar dicha extensión al directorio: /protected/extensions.
Ejemplo:
<h1>Flot</h1>
<?php
// lines and bars in same graph
$this->widget('application.extensions.EFlot.EFlotGraphWidget',
array(
'data'=>array(
array(
'label'=> 'line',
'data'=>array(
array(1,1),
array(2,7),
array(3,12),
array(4,32),
array(5,62),
array(6,89),
),
'lines'=>array('show'=>true),
'points'=>array('show'=>true),
),
array(
'label'=> 'bars',
'data'=>array(
array(1,12),
array(2,16),
array(3,89),
array(4,44),
array(5,38),
),
'bars'=>array('show'=>true),
),
),
'options'=>array(
'legend'=>array(
'position'=>'nw',
'show'=>true,
'margin'=>10,
'backgroundOpacity'=> 0.5
),
),
'htmlOptions'=>array(
'style'=>'width:400px;height:400px;'
)
)
);
?>
//Pie chart example
<?php
$format_func = <<<EOD
js:function(label, series){
return '<div style="font-size:8pt;text-align:center;padding:2px;color:white;">'+label+'<br/>'+Math.round(series.percent)+'%</div>';}
EOD;
$this->widget('application.extensions.EFlot.EFlotGraphWidget',
array(
'data'=>array(
array('label'=>'cows', 'data'=>20),
array('label'=>'sheep', 'data'=>20),
array('label'=>'chickens', 'data'=>30),
),
'options'=>array(
'series'=> array('pie'=>array(
'show'=>true,
'radius'=> 3/4,
'formatter'=> $format_func,
),
),
'legend'=> array('show'=>false),
),
'htmlOptions'=>array('style'=>'width:400px;height:400px;')
)
);
?>