在pentaho仪表板中,如何使用不同的sql数据源显示表组件列

我想显示一个表,其中数据来自不同的sql表,例如对于单个表组件,该表的某些列来自一个sql查询,另一列来自下一个查询。使用联接查询或子查询将显示错误的数据。在表组件中,只有一个选项可以选择数据源。 有什么办法吗?

qhuhz 回答:在pentaho仪表板中,如何使用不同的sql数据源显示表组件列

我认为您可以使用Pentaho Data Integration / Kettle / Spoon来完成此操作,然后将结果传递给表组件,但我不知道如何实现。

,

使用Javascript,可以在表组件的预执行功能中更改数据源,但不能更改单个列的数据源。 您可以根据需要在表组件中隐藏一些列。

如何使用Java脚本更改数据源

我创建了一个简单参数:refresh_table,它包含表的数据源:sql_Empty,以显示一个空表。 我创建了一些Select组件,当您选择一个值然后单击Button组件(一个搜索按钮)时,搜索按钮会根据select组件中的值使用新的数据源更改简单参数'refresh_table'中的值:sql_A,sql_B。

function a() {
    var a = this.dashboard.getParameterValue('selectA');
    var b = this.dashboard.getParameterValue('selectB');

    if (a === 'ciao' && b === 'ciao') {
        this.dashboard.fireChange('refresh_table','sql_A');
    } else {
        this.dashboard.fireChange('refresh_table','sql_B');
    }
}

在表组件的preExecution函数中,我编写了此函数以根据refresh_table的参数值更改数据源。

function b() {
    this.chartDefinition.dataSource = this.dashboard.getParameterValue('refresh_table');
}
本文链接:https://www.f2er.com/3119814.html

大家都在问