页面树结构
转至元数据结尾
转至元数据起始

(本文档仅供参考)

问题说明

希望电子表格中的清单表中的列表能同时展现明细数据及汇总(比如:产品类别为饮料的各产品的销售额和饮料的总销售额)。

在报表中对一列数据使用sum()函数,得到的是该列数据在该页的汇总,并不是所有数据的汇总。一翻页汇总的数据就改变了。


即在清单表中使用sum函数是合计当前页的值,并不是合计所有值,而分组报表是计算所有值的,不想按照下面的文档把报表类型改成分组报表,是否还有其他的方式呢?

电子表格使用SUM等函数计算时,清单报表计算当前页的值,分组报表计算所有值



解决方案

 电子表格的清单报表只能引入一个数据集,因此无法使用清单报表同时展示一列数据的明细和汇总。

若希望保留使用清单表查看明细数据(因为数据量大,因此使用清单表),可使用分组报表嵌套清单表。

步骤如下:

1.创建一个数据集,如下图:

2.使用做好的数据集做清单报表,如下图:

3.把对应的参数在参数面板上进行隐藏,然后发布此报表:

说明:

这里对清单报表的参数进行隐藏的原因是:如果不设置隐藏,在分组报表中使用url链接引入时会出现两个参数,如下图:

具体原因可以参考文档:

https://history.wiki.smartbi.com.cn/pages/viewpage.action?pageId=44501816


4.再做一个数据集,此数据集只sum对应的字段,查询对应的sum字段,如下图:

5.创建一个分组报表

6.点击URL链接,设置内部资源,选中对应的清单报表

7.拖拽刚刚做好的数据集汇总的字段在上面展示

具体效果如下图:

说明:

步骤4中为什么还要在做一个数据集,然后在分组报表中使用,可以不新建一个新的数据集,直接拖拽第一个数据集的字段进行sum展示吗?

如果直接拖拽对应的数据集的字段在大数据量的情况下会提示此信息:


具体原因可参考文档:

查询结果集单元格超过了系统选项设置的内存数据库最大返回单元格数

        之所以会出现【查询结果集单元格超过了系统选项设置的内存数据库最大返回单元格数】的提示,

        是因为在新版本中,我们研发增加了对数据集输出单元格数的限制, 以此避免因打开报表输出过多单元格耗费过多内存、引起的内存溢出宕机等等问题。

         对于内存数据库最大返回单元格数的介绍如下:

         

        在数据集层面,内存数据库最大返回单元格数的计算逻辑是:内存数据库最大返回单元格数=内存数据库最大返回行数*当前数据集的列

        对于电子表格分组报表来说,为了进行各种公式运算,保证运算结果的准确性,需要把依赖的数据集所有结果集都加载到内存中,这时候,内存数据库最大返回单元格数的计算逻辑是:内 存数据库最大返回单元格数=当前数据集总行数*当前数据集的列

        而上面如果拖拽的是原数据集的字段,虽然只拖拽了一个数据集的字段,但是本质上还是对整个数据集的字段和行列进行了计算,所以超出了系统选项中的配置,就会出现上面的提示。


规避方案:做一个新的数据集,然后此数据集只sum某一个字段,其中这里只有一行,一列,按分组报表对此数据集的内存数据库最大返回单元格的计算为:1*1 =1 ,不会超过系统选项的设置,所以建议按下图设置:

  • 无标签