Saiku 查询抓取

Saiku query fetch

我是 saiku 和 backbone 的新手。我试图弄清楚 ChartPlus highcharts 如何在 Saiku 中工作,并在 Pentaho 中集成了 Saiku。我已经下载了源代码,一直在研究代码并试图弄清楚数据库是如何被命中以生成图表的。我找到了以下用于获取查询的事件,但无法找到它的定义位置以及调用方式。

   this.workspace.trigger('query:fetch');

谁能帮忙说说这是怎么回事?

您可以使用 Pentaho Marketplace 安装 Saiku CE 和 Saiku Chart Plus,或者您可以构建 Saiku 源代码并将其放入 pentaho-solutions 文件夹并重新启动服务器。

你说的代码,可以看到这里创建的事件:https://github.com/OSBI/saiku/blob/master/saiku-ui/js/saiku/models/Query.js#L135

Trigger callbacks for the given event, or space-delimited list of events. Subsequent arguments to trigger will be passed along to the event callbacks.

您可以使用以下方法捕获它:

var MyClass = Backbone.View.extend({
  initialize: function(args) {
    // Keep track of parent workspace
    this.workspace = args.workspace;

    // Maintain `this` in callbacks
    _.bindAll(this, 'receive_data', 'workspace_levels');

    // Listen to result event
    this.workspace.bind('query:fetch', this.receive_data);
  },

  receive_data: function(args) {
    console.log(args);
  },
});