icCube - 图表中的累计总数

时间:2017-05-16 14:55:11

标签: iccube-reporting

我有一个icCube序列图表,显示项目列表的度量,从大到小排序。

我想使用显示累积总计而不使用MDX,但使用函数表达式构建器。不幸的是我无法让它工作我可能在语法上做错了。

有人知道如何进行javascript构造以获得累积值。

例如。 MDX结果给出:

  • item1 10
  • item2 6
  • item3 2

我希望小部件将数据显示为:

  • item1 10
  • item2 16(10 + 6)
  • item3 18(10 + 6 + 2)

并且 - 请 - 使用库中的函数在图表中的值定义上使用纯JavaScript。

1 个答案:

答案 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 

enter image description here

更新icCube v 6.2(4285)

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();