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

我想用来显示累计总数而不使用MDX,而是使用函数表达式生成器。不幸的是,我无法使其正常工作,我可能在语法方面做错了。

有人知道如何制作JavaScript构造以获得累计值。

例如。 MDX结果给出:


项目1 10
项目2 6
项目3 2


我希望小部件将数据呈现为:


项目1 10
item2 16(10 + 6)
项目3 18(10 + 6 + 2)


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

最佳答案

在“数据呈现器”部分的小部件中,我们必须将javascript函数定义为value字段。我们将添加该函数以直接计算累计值,但是我们可以使用:

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-reporting - icCube-图表中的累计总数-LMLPHP

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


使用此新功能,Value属性的新值应为:

return context.cumulativeRow();

关于iccube-reporting - icCube-图表中的累计总数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44004905/

10-08 23:05