如何实现月季年 阶段统计表 动态取数
需求:
数据库中存储了某车间不同品类的生产数据,想要实现按季度、半年统计各品类不同时期的数据,其中月份数据以 yyyy-MM 形式存储。 如下图所示

数据如下:

分析:
要实现这种类似效果其关键是如何动态处理 1 2 3 月 1 季度、4 5 6 月 2 季度依次类推的取数逻辑。
过程: 以半年为扩展基础,使用 to(1,2) 函数扩展,在此基础上,再次扩展出季度,1、2 季度以上半年也就是 1 为计算基数 算出季度。月份依次类推。

报表实现:

其中:
A2 表达式为 =to(1,3)+3*(A3-1),显示值表达式为:string(value())+“月”
左主格为 A3;
A3 表达式为 =to(1,2)+2*(A4-1),显示值表达式为:string(value())+“季度”
左主格为 A4;
A4 表达式为 =to(1,2)
B2 表达式为
=ds1.select(品类 A,month(datetime(yf+“-01”,“yyy-MM-dd”))==A2)
其余单元格无特别设置直接取数或者汇总计算。
注:参数面板非本文重点部分省略。
最终效果:
