我有一个icCube序列图表,显示项目列表的度量,从大到小排序。
我想使用显示累积总计而不使用MDX,但使用函数表达式构建器。不幸的是我无法让它工作我可能在语法上做错了。
有人知道如何进行javascript构造以获得累积值。
例如。 MDX结果给出:
我希望小部件将数据显示为:
并且 - 请 - 使用库中的函数在图表中的值定义上使用纯JavaScript。
答案 0 :(得分:2)
在数据渲染部分,小部件中,我们将javascript函数定义为值字段。我们将添加函数直接计算累积,但我们可以使用:
var ri = context.rowIndex; // current row Index
var cumVal = 0;
var isNotNull = false; // we've to add an ic3Add that supports nulls/empty
for ( var row = 0 ; row <= ri; row++ ) { // all former including this
var cellVal = context.getValue(row);
cumVal += cellVal || 0 ; // handle 'empty'
isNotNull = isNotNull || cellVal;
}
// the job is done
if (isNotNull)
return cumVal;
else
return
icCube 6.2引入了新的累积功能:
cumulativeRow(row:CtxCoord, measure?:CtxCoord, property?:string):number
cumulativeCol(column:CtxCoord, measure?:CtxCoord, property?:string):number
cumulativeTable(row:CtxCoord, column:CtxCoord, measure?:CtxCoord, property?:string):number
使用此新功能值属性的新值应为:
return context.cumulativeRow();