Web数据透视表组件在数据透视表数据区域中显示文本

时间:2013-08-14 15:03:21

标签: javascript coffeescript report pivot-table zk-grid

我在网上找到了这些伟大的数据透视表组件

nicolaskruchten - pivottable

ZKOSS - pivottable

RJackson - pivottable

我的问题(或问题)在于,数据透视表固有地“转动”数字数据集周围的数据;这意味着单元格交叉点通常只能是数字(SUM / COUNT / FIRST ...)

是否有任何东西(或者,如果您知道如何修改当前组件)将在枢轴“值”或交叉点内显示非数字数据。

我的问题如下图所示。 enter image description here

可以看出,交互数据实际上是每个角色都可以访问的报告(按报告类别分组)...我知道还有其他方式来表示这些数据,但我真的很喜欢这种方式上面的观众可以交换数据过滤器(列)

提前感谢。

1 个答案:

答案 0 :(得分:1)

我无法代表所有不同的数据透视表实现,有些可能有一个内置的“聚合器”,它允许您将字符串值与格式连接(例如添加cr / lf),但是快速浏览一下nicolaskruchten / pivottable来源让我觉得你可以轻松添加自己的聚合器。

只需查看文件pivot.coffee,从第22行开始。您将看到不同的聚合器模板,因此您可以在那里添加自己的模板。

修改

我刚刚查看了rjackson / pivot.js实现,看看它的外观,如果你在pivot.js第586 +行添加你自己的defaultSummarizeFunction,然后还将它添加到第651 +行的select,你可以创建自己的“concat”SummarizeFunction

编辑2

好吧,事实证明比我想象的更容易。使用rjackson / pivot.js,您需要做的就是在定义可连接字段时提供自己的summarizeFunction:

{name: 'billed_amount',     type: 'string',  rowLabelable: false, summarizable: 'string', summarizeFunction: function(rows, field){ 
        var result = '',
            i = -1;
            m = rows.length;

        while (++i < m) {
          result = result + rows[i][field.dataSource] + '<br>';
        }
        return result;
 }}

在这个例子中,我转换了一个通常会被求和的字段,并通过提供我自己的summaryrizeFunction将其转换为连接字段。

查看此处的示例:http://mrlucmorin.github.io/pivot.js/

干杯