【问题标题】:Set default value for the select component in pentaho CDE在 pentaho CDE 中为选择组件设置默认值
【发布时间】:2021-04-09 16:51:37
【问题描述】:

我在布局中有 1 个组合框、1 个选择组件和 1 个数据源(mdx over mondrianJndi)

这是我的 mdx 查询

with member [Measures].[Name] as '[Year].CurrentMember.UniqueName' select TopCount( filter({Descendants([Year].[All Years] ,[Year].[Year])}, not isempty(([Year].CurrentMember)) ) , 50) on ROWS, 
 {[Measures].[Name]} on Columns 
 from [Department Cube]

我的查询返回有数据的年份列表(包括当前年份)

这个时候,我要等待数据加载完毕,然后通过js资源将combobox的值设置为当前年份。 如何在不等待数据加载的情况下将默认值设置为当前年份到布局中的组合框?

【问题讨论】:

    标签: mdx pentaho-cde


    【解决方案1】:

    作为动态查询,您不应依赖“当前”年份的计算。任何用于确定当前年份的 JS 函数,例如从客户端的时钟将受到时区异常的影响,并且可能会尝试将值设置为查询未返回的值。

    你应该在读取查询结果后才设置选择器的默认值,但最好的地方是在组件的 postFetch 方法中。

    例如,如果要将参数值设置为查询结果的最后一个值,

    function(data){
      var results = data.resultset
      // some logic here to set current_year to the adequate value. For example,
      current_year = results[results.length-1][0];
      dashboard.setParameter(this.parameter, current_year);
      return data;
    }
    

    【讨论】:

      猜你喜欢
      • 2014-10-26
      • 2016-12-19
      • 2019-12-24
      • 2018-09-23
      • 2017-08-17
      • 1970-01-01
      • 2014-07-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多