我在布局中有1个组合框,1个选择组件和1个数据源(mdx在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资源将组合框的值设置为当前年份。 如何在布局中将组合框设置为当前年份的默认值,并等待加载数据?
答案 0 :(得分: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;
}