找回密码
 立即注册

QQ登录

只需一步,快速开始

Eden.Sun Wyn认证

超级版主

181

主题

3588

帖子

6755

积分

超级版主

Rank: 8Rank: 8

积分
6755

Wyn高级认证Wyn认证

Eden.Sun Wyn认证
超级版主   /  发表于:2024-10-29 14:05  /   查看:74  /  回复:0
本帖最后由 Eden.Sun 于 2024-10-31 11:20 编辑

    前面介绍报表中表格的动态列的设计,这里介绍矩表的动态列的设计。
    二者的区别在于,表格直接在数据列上进行设置,矩表则是要在分组中进行设置。这是因为矩表自带分组,所有的数据都是按照行列分组自动的聚合、扩展的。所以想要在矩表上实现动态列的控制就需要在局表的分组上进行相关的设置。
    我们用一个案例进行说明,根据指定的月份进行扩展

    1. 添加参数
    这里的参数是1-12 的月份数字。是固定的数值,所以可以手动添加们也可以从数据集中获取,方法不限:
    image.png401975707.png

    2. 设置隐藏
    在矩表的分组上设置隐藏条件:{iif((Join(@报表参数1, ",") & ",").Contains(ToString(Month(订购日期)) & ","), false, true)}
   
    整体上和之前表格的隐藏表达式是一样的,但是在将参数值使用 Join 表达式通过逗号拼接之后,在结果字符串的末尾又追加了一个逗号,这是因为月份中的10、11、12 包含了1,就会导致显示这三个月时,会连带着显示出1月份的数据。所以我们不使用纯数字进行判断,而是通过 数字+逗号 的方式来判断,进而规避这个问题。
    image.png54110106.png
   
    3. 最终效果
    image.png194899901.png

    4. 通过过滤实现
    如果数据表中有直接的表示月份的字段或者日期,我们也可以直接在分组上通过过滤事项相同的功能:
    image.png48520812.png


    附件是demo案例,感兴趣的小伙伴可以试试。

wyn-export-20241029170434.zip

472.6 KB, 下载次数: 1

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部