#google-analytics-api #oocharts
#google-analytics-api #oocharts
Вопрос:
Я использую Oocharts.com мы с API составляем график временной шкалы за 12 месяцев, но он отображает ежедневные данные за каждый день вместо того, чтобы объединять их в месячную сумму. Итак, вместо отображения 1 посещения в день, я хочу, чтобы он показывал 30 посещений за месяц. Как я могу это сделать?
Вот ссылка на их документацию, я прочитал все и не вижу, как это сделать. Я даже изменил свой диапазон дат с 1 года на 12 месяцев, и это ничего не дало.
Ответ №1:
Я решил эту проблему, используя запрос oocharts API визуализации Google. Вот мой код для отображения отфильтрованных результатов за последние 12 месяцев:
// What's our months?
$months = array();
for ($i = -12; $i < 0; $i )
{
$month_time = strtotime($i . ' months');
$months[] = date('F Y', $month_time);
}
// Add js code to get unique page views for last year on a timeline chart
$oocharts_js .= '
oo.load(function(){
var query = new oo.Query("' . $this->config->item('oocharts_profile_id') . '", "13m");
query.addMetric("ga:uniquePageviews");
query.addDimension("ga:nthMonth");
query.setFilter("' . $oochart_filter . '");
query.setIndex(2);
query.execute(function(data){
console.log(data.rows);
google.load("visualization", "1", {packages:["corechart"]});
var dataTable = google.visualization.arrayToDataTable([
["Month", "Page Visits"],
';
foreach ($months as $key => $value)
{
$oocharts_js .= '["' . $value . '", data.rows[' . $key . '][1]],';
}
$oocharts_js .= '
]);
var options = {
chartArea: {top: 10, left: 30, height: "60%"},
hAxis: {
slantedText: true,
},
vAxis: {
viewWindow:{
min:0,
},
},
pointSize: 5,
lineWidth: 3,
};
var chart = new google.visualization.LineChart(document.getElementById("chart_' . $business->business_id . '"));
chart.draw(dataTable, options);
});
});
';