我目前正在尝试使用名为OOCharts的插件在我的网站上显示Google Analytics数据。它工作正常,只是我无法过滤表中填充的记录。我已经知道我需要在OO.Query对象上使用.setFilter()函数,但我不知道如何将过滤后的查询传递给OO.Table对象。请输入是否有人知道这一点,这是我的代码,直到现在:
oo.setOOId("<My OOID here>");
var from = "01/01/2011";
var today = new Date();
var to = today;
oo.load(doCharts());
jQuery(document).ready(function () {
});
function doCharts() {
var q = new oo.Query("<My Profile ID here>", new Date("1/7/2013"), new Date("3/30/2013"));
q.addDimension('ga:pageTitle');
q.setFilter('ga:pageTitle==<my Filter string>');
var t = new oo.Table("<My Profile ID here>", new Date(from), new Date(to));
t.addMetric("ga:pageviews", "Page views");
t.addDimension(q); //this doesn't seem right :/
t.setOption('page', 'enable');
t.setOption('pageSize', '20');
t.draw('table1');
q.execute(function (data) {
alert(data);
});
}
答案 0 :(得分:1)
您实际上可以在提供表格的查询中设置过滤器,如下所示:
var t = new oo.Table("<My Profile ID here>", new Date(from), new Date(to));
t.query.setFilter('ga:pageTitle==<my Filter string>');
//Go on to draw and add other params
希望这有帮助!
修改强>
为了澄清,您甚至不需要顶部的查询对象。该表实际上是在构造时创建的,因此您可以在表的查询中使用setFilter方法。所有OOcharts对象都在其下面进行查询,并且可以在绘制之前进行操作,如上所示: t.query.someMethod()