-
-
王爽 小试身手Lv3
发表于2022-8-11 16:13
悬赏100
已解决
楼主
bi分析表其中一个格子取数,需要计算报表期1月,2月,格子取去年12月份的数据,计算3、4、5月份格子取3月份数据,计算6、7、8月份格子取6月份的数据,计算9、10、11月份取9月份数据,12月就取12月的数据,我写了一个条件在格子里,可以正常显示,但是放在过滤条件或者数据期都不能生效,这种效果数据期条件应该怎么写能实现??
最佳答案
本帖最后由 小怪兽 于 2022-8-11 16:54 编辑
本地测试了一下是可以实现的哈,本地用的过滤条件实现了计算报表期1月,2月,格子取去年12月份的数据,计算3、4、5月份格子取3月份数据的情况,其他月份的逻辑是相同的,把表达式里的true换成IF继续嵌套就好了,逻辑是一样的。不过本地数据格式跟您这边可能不同,本地过滤条件仅供参考。
if(OR(right(@ny,2)='01',right(@ny,2)='02'),QC_XL.BBQ=left(od(@ny,'y-1'),4)+'12',if(OR(right(@ny,2)='03',right(@ny,2)='04',right(@ny,2)='05'),QC_XL.BBQ=left(@ny,4)+'03',true))
![](static/image/common/none.gif)
![](static/image/common/none.gif)
![](static/image/common/none.gif)
本地测试了一下是可以实现的哈,本地用的过滤条件实现了计算报表期1月,2月,格子取去年12月份的数据,计算3、4、5月份格子取3月份数据的情况,其他月份的逻辑是相同的,把表达式里的true换成IF继续嵌套就好了,逻辑是一样的。不过本地数据格式跟您这边可能不同,本地过滤条件仅供参考。
if(OR(right(@ny,2)='01',right(@ny,2)='02'),QC_XL.BBQ=left(od(@ny,'y-1'),4)+'12',if(OR(right(@ny,2)='03',right(@ny,2)='04',right(@ny,2)='05'),QC_XL.BBQ=left(@ny,4)+'03',true))
1个回答
本帖最后由 小怪兽 于 2022-8-11 16:54 编辑
本地测试了一下是可以实现的哈,本地用的过滤条件实现了计算报表期1月,2月,格子取去年12月份的数据,计算3、4、5月份格子取3月份数据的情况,其他月份的逻辑是相同的,把表达式里的true换成IF继续嵌套就好了,逻辑是一样的。不过本地数据格式跟您这边可能不同,本地过滤条件仅供参考。
if(OR(right(@ny,2)='01',right(@ny,2)='02'),QC_XL.BBQ=left(od(@ny,'y-1'),4)+'12',if(OR(right(@ny,2)='03',right(@ny,2)='04',right(@ny,2)='05'),QC_XL.BBQ=left(@ny,4)+'03',true))