Buena tarde, me encuentro en la necesidad de usar la librería de highcharts para crear una grafica denomina diagrama de Sankey, pero los datos los tengo que traer de forma dinámica para este tipo de grafica:
diagrama de sankey, usando el código de la librería todo trabaja sin problema, la estructura de los datos para graficar en la libreria es como este
Code:
data: [
['Hombres', '18_a_25', 10],
['Hombres', '26_a_35', 15],
['Hombres', '36_a_45', 20],
['Hombres', '46_a_55', 7],
['Hombres', '+55', 2],
['Mujeres', '18_a_25', 7],
['Mujeres', '26_a_35', 18],
['Mujeres', '36_a_45', 12],
['Mujeres', '46_a_55', 9],
['Mujeres', '+55', 3],
['18_a_25', 'Primaria', 0],
['18_a_25', 'Secundaria', 2],
['18_a_25', 'Bachillerato', 14],
Hasta aquí todo bien sin embargo no puedo resolver como cargo o creo el array para que construya los datos desde mis tablas, ya que estas la tengo que agrupar y unir para obtener en la consulta de los datos que requiero se me ocurrió hacer una tabla en donde vaya agregando los datos de las consultas agrupadas la consulta agrupada de mi MODELO va así :
public function agrupar_data(){
$gen = 1;
$this->db->select(' count(factor) as Total , count(sexo) as Total_Hombres,
(case
when factor between 18 and 25 then "18 a 25"
when factor between 26 and 35 then "26 a 35"
when factor between 36 and 45 then "36 a 45"
when factor between 46 and 55 then "46 a 55"
else "+56"
end ) as Edad,'
);
$this->db->from('contratoscre as con');
$this->db->join('cliente_dat dat', 'dat.id_cte = con.id_cte' );
$this->db->where('sexo', $gen);
$this->db->group_by( 'Edad');
$query=$this->db->get();
return $query->result_array();
}
Y pues hasta aquí me he atorado , ya que para construir los datos que requiere la librería tengo que agrupar unir agrupar los datos y luego obtener como valor la suma los registros que correspondan a los registros agrupados.