统计图宽度根据内容伸缩实例
需求背景
最近常有客户提出,统计图宽度一旦设定就无法改变了,而由于数据的变化,统计项或多或少,这就要求统计图的宽度能随着数据量的增大而变宽、减小而变窄,以使图形显示更加美观。
需求分析
我们的统计图是基于单元格设定的,即若该单元格不扩展,其宽度即为单元格宽度。所以我们应该将其放到根据数据量扩展的扩展格中,已实现统计图宽度随内容变化的效果。
实现步骤
首先我们做一张带有参数模板的报表,如下图:
带有下拉列表框的参数模板
带有统计图的报表
其中, A1 单元格表达式: =list(@arg1) ,接收参数模板传过来的值,并在报表中显示;
B1 表达式: =int(A1*rand()*10) ,生成一个 1 到 100 间的随机数,用于统计值显示;
C2 表达式: =to(1,count(A1{})) ,计算参数模板传过来的参数元素个数,用于统计图长度的伸缩。
设置一二行为隐藏行。
我们在页面上预览一下效果:
选择两条数据时
选择十条数据时
本文只是通过一个简单的例子来说明,报表中一些看似已经固定的东西,我们可以通过一些变通的方法、方式找到合理的途径解决问题。在遇到实际复杂的需求时,可以参考类似的方法实现。