1. 概述
1.1 问题现象
1)设计用户在制作了表格组件后,组件显示「当前表数据量超过最大可显示行数,如需展示请联系管理员」,例如如下图两个报错:Cross Tab is too large、out of row restriction
2) 在公共数据界面修改显示行数时,最终显示的值比用户实际修改的值大。
1.2 解决方案
1)确认数据量大小,通过自身对数据的过滤/分组汇总/减少字段等方式减少数据量,避免该报错;
2)如果数据量不能减少,请务必前往【服务平台>在线支持】联系技术支持,在技术支持指导下修改数据访问量参数,随意修改可能增大宕机风险。
3)若是交叉表超出最大可显示行数,但确认数据量大小后发现未超过数据访问量设置的大小,可以尝试选择使用自定义求和代替自动求和。
2. 操作步骤
2.1 减少数据量
若该组件展示时,用不到这么多数据,用户可先在数据编辑界面中处理,通过过滤、分组汇总、删除不必要字段等方式来减少数据量大小,具体操作设计用户可查看如下链接:
此外,也可在组件或仪表板中直接进行数据的过滤,减少数据量,参考如下链接:
设计用户在添加上述步骤尝试减少数据量后,可以再次预览组件查看是否还有数据量限制的报错。
2.2 修改数据访问量
注:进行修改前请务必前往【服务平台>在线支持】联系技术支持,且只有管理员可以修改数据访问量。
1)设计用户上报错误后,管理员确认好设计用户使用的数据量。进入管理系统>系统管理>常规下,查看 BI 参数下的数据访问量,如下图所示:
2)数据访问量限制了可读入服务器内存的数据行数,可有效保护系统内存的健康使用。
配置过低,将影响数据计算准确性。配置过高,系统有宕机风险。重启后生效。
建议保持默认值 1000000。可配置范围:1~10,000,000。建议配置范围:10,000~1,000,000
在确认设计用户需要的数据量大小后,根据分配系统的内存大小,适当调整该值大小。
比如将此处默认的 1000000,调整为 3000000,如下图所示:
注:若 JVM 分配至16G 可调大至 500万,最大可调至 1000万 但性能不佳。修改 JVM 内存请参见:Linux 修改 jvm 内存 。
3)调整该值大小后,保存并重启 FineBI ,设置项生效。设计用户可重新尝试预览该组件。
2.3 交叉表改合计方式为求和
若是交叉表报错「当前表数据量超过最大可显示行数,如需展示请联系管理员」,确认数据量后,发现表的数据量并没有超出数据访问量设置的数据。可以尝试将「自动」改为「求和」。如下图所示:
合计方式为「自动」时,是用明细数据进行的求和计算,使用明细数据就代表行列都是用原表的总数据量进行计算,就算不勾选显示汇总行,后台也还是会计算的,只不过前端会不显示,会出现行*列大于100000000。
合计方式为「求和」时,会取当前的分组和到表格中再进行求和,而不是取所有的明细数据到表格中再计算。
注:更改交叉表的合计方式,需要行维度/列维度字段不能同时存在,且将指标字段放上去。否则该方法无法生效。