用数组节点代替分组节点 |
|
||||
从图5 可见,该报表1994年中只列出了8、12两个月的数据,因为这一年只有这两个月发生了销售。有时,为了对比分析,要求不管有没有销售都需要列出1到12月,要实现这个功能,我们要借助新的节点类型,数组节点。 你可以在模型中,用脚本定义一个数组节点。如果一个报表对象绑定到该数组节点上,则循环次数取决于该数组的元素个数。
提示:
从提示2可知,由于最里面的那个行板,绑定到了键值分别是1,2,3,4,...12的数组节点,所以交叉部分的单元格公式是=销售表_.金额.sum(),当打印到94年,12月份,华东单元格时,行键变为1,列键变为华东,所以此公式等价于 =销售表_.金额{1}{"华东"}.sum(),这意味着要找到销售表中,年份是1,地区是华东的总销售额,显然,数据集中不存在这样的分组,所以显示为空。 虽然,任何节点都有一个默认的键值,比如,数组节点默认的键值,就是数组元素的值。但你可以通过设置节点的键值公式,改变键值,对于本例来说,你可以改变数组节点的键值公式,如下表所示,该键值公式意味着,打印与数组节点绑定的行板时会按这个公式取节点的值键,分别为{1994,1}、{1994,2}等。 new Object[]{$年份,$月} // 用年份分组节点的值,和月数组节点的值,作为数组节点的键值 要设置键值公式,你可以选中需要设置键值公式的节点,选择右键菜单设置键值公式,带出如下键值设置对话框: 下面是经过对数组节点,设置键值公式后,得到的正确报表:
|
|||||
|