对日历类报表实现的补充

日历类报表的实现,请参考大佬写的帖子

日历类报表可以这样实现

这个示例内,主要是针对于每天一条数据的功能的实现。

昨天遇到了一个类似的需求,但是要求每天的数据是多条的情况。 几经波折,最终问题得到解决,实现效果如下图所示

实现方式如下:

表结构来说,作出日历的样式暂时略过,请参考 日历类报表可以这样实现

下面介绍下多条数据的展示

需要用到的是 to 函数与 valueat 的结合使用

因为 C5 的值是多条,且每天的数据互相之间无关联,所以需要单独来写 C4 单元格 =ds1.count(day(calendar_begin)==C3) 获取每天需要显示的总条数 B5 单元格 =to(0,max(C4{})-1)函数扩展,其中 max() 获取一周中每天的条数的最大值 to 函数从 0 开始扩展 是因为 valueat 的取值是从 0 开始的 0 表示第一条 所以 max(C4{})-1 同样的道理

valueat 函数,则根据扩展的条数决定显示 select 数据的第几条

valueat 函数说明: 

根据指定位置返回数组或者集合表达式中的某一个元素 

语法: valueat(arrayexp,suffixExp) 参数说明: arrayexp 数组或者集合表达式 suffixExp 整数,用于指定返回集合中的第几个元素,以 0 开始计数 返回值: 集合中的一个元素,数据类型由集合中的元素类型决定 示例: 例 1:valueat(to(5,8),2) 返回值为:7 例 2:valueat([“a”,“b”,“c”],2) 返回值为:“c”

最终,问题得到完美解决。 更多报表样式类问题请看:报表样式分类导航

*按段分组报表制作 *如何开发主从报表 *报告式报表的制作 *报表中如何实现不规则布局 *报表工具轻松搞定卡片式报表

原文地址:https://www.cnblogs.com/IBelieve002/p/11585859.html