예제 #1
0
function fn_stat_map_data($chart, $data, $map, $titles = array(), $aggregate = false)
{
    $result = array();
    if ($aggregate == false) {
        foreach ($data as $k => $v) {
            foreach ($map as $field => $alias) {
                $result[$k][$alias] = $v[$field] == '' ? fn_get_lang_var('undefined') : $v[$field];
            }
        }
    } else {
        foreach ($data as $k => $v) {
            foreach ($map as $_k => $field) {
                $result[$field]['values'][$k]['title'] = $k;
                $result[$field]['values'][$k]['value'] = $v[$field];
                $result[$field]['title'] = $titles[$_k];
            }
        }
    }
    /*if (count($result) > $max_items) {
    		$other = array_splice($result, $max_items);
    
    		$total = 0;
    		foreach ($other as $k => $v) {
    			$total += $v['value'];
    		}
    
    		$result[] = arra
    	}*/
    return fn_amcharts_data($chart, $result);
}
예제 #2
0
             }
             $new_array[$table['description']] = $__new_array;
             $new_array['pie_data'] = fn_amcharts_data('pie', $_new_array);
             $new_array['pie_height'] = fn_calc_height_ampie($_new_array, 20);
             $view->assign('new_array', $new_array);
             // Bar
         } elseif (!empty($table['elements']) && !empty($table['intervals']) && $table['type'] == 'B') {
             $_values = fn_get_report_statistics($table);
             foreach ($table['elements'] as $key => $value) {
                 foreach ($_values[$value['element_hash']] as $k => $v) {
                     $_new_array[$key][$k] = array('title' => $value['description'], 'value' => $v);
                     $__new_array[$key][$k] = array('label' => $value['description'], 'count' => $v);
                 }
             }
             $new_array[$table['description']] = $__new_array;
             $new_array['column_data'] = fn_amcharts_data('column', $_new_array, $table['intervals']);
             $new_array['column_height'] = 450;
             //fn_calc_height_amcolumn($_new_array);
             if (count($table['intervals']) > 1) {
                 $new_array['column_width'] = count($table['intervals']) * count($table['elements']) * 20 + 100;
                 $new_array['column_width'] = $new_array['column_width'] > 650 ? $new_array['column_width'] : 650;
             }
             $new_array['column_height'] = 450;
             //fn_calc_height_amcolumn($_new_array);
             $view->assign('new_array', $new_array);
         }
     }
 }
 if (!empty($table_conditions)) {
     $view->assign('table_conditions', $table_conditions);
 }