0

我目前正在尝试使用名为OOCharts的插件将谷歌分析数据显示到我的网站上。它工作正常,只是我无法过滤表中填充的记录。我了解到我需要在 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);
    });
}
4

1 回答 1

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()

于 2013-04-22T15:52:45.357 回答