FR实现根据查询结果以自定规则去重的统计

QQ图片20201208145109.png大佬们,求帮忙思考,我的需求基本上图中文字已经说明完成,统计结果在明细第二页,或者使用超链链接的新报表等均可,只要可以实现就行。

-----------------------------------------------------------

补充,之前忘了,第五列是我用FR公式判断产生的

SWITCH(

TRUE, 

LEN(F5) = 0, 

'缺失采购申请单', 

LEN(S5) = 0, 

SWITCH(

TRUE, 

M5 = '已关闭' || N5 = '业务关闭', 

'采购申请单提前关闭', 

TRUE, 

IF(DATESUBDATE(DATEDELTA(TODATE(MID(时间.select(date), 4, 8), 'yyyyMMdd'), -1),K5,'d')>0,'已超期','未超期')

), 

LEN(AE5) = 0, 

SWITCH(

TRUE, 

AA5 = '已关闭' || AB5 = '业务关闭', 

'采购订单提前关闭', 

TRUE, 

IF(AK5 > AI5, '已超期', '未超期')

), 

true, 

IF(AK5 > AI5, '已超期', '未超期')

)

这是那个判断公式,情况比较多,所以是想问怎么实现,还是说只能先写入数据库再用SQL吗

FineReport 用户p9061960 发布于 2020-12-8 14:55 (编辑于 2020-12-8 16:28)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
shirokoLv6资深互助
发布于2020-12-8 15:37
select one,sum(case when YN=0 then 1 else 0) Y,sum(case when YN>0 then 1 else 0) N from (
SELECT one,two,three,four,sum(case when five='N' then 1 else 0 end) YN from tables
group by one,two,three,four
)
group by one


one,two,three,four,five对应五个字段

  • 用户p9061960 用户p9061960(提问者) 抱歉大佬,我写的时候才想起来,我第5列是FR公式产生的,数据库里没这个字段,,
    2020-12-08 16:29 
  • shiroko shiroko 回复 用户p9061960(提问者) 那你就先用sql去生成
    2020-12-08 16:33 
  • 用户p9061960 用户p9061960(提问者) 回复 shiroko 第一个case when少个END,然后就是我实际不只Y和N,最多有五种结果,我分别按=0.01,=-0.01,=-1统计了一下,算个笨办法,情况再多我就没办法了,如果大佬你还有什么好的建议拜托给我说一下
    2020-12-15 18:42 
最佳回答
0
AmyQLv6初级互助
发布于2020-12-8 15:09(编辑于 2020-12-8 15:33)

你把字段名和表名列一下,可以写SQL解决



select A,B,C,D,E from TABLE1 WHERE

  concat(A,B,C,D) in 

    (select concat(A,B,C,D) from( 

       select A,B,C,D,count(distinct E) incount from TABLE1

        group by A,B,C,D  having  count(distinct E)=1)A)

union ALL

select A,B,C,D,'N' E from(

    select A,B,C,D,count(distinct E) incount from TABLE1

    group by A,B,C,D  having  count(distinct E)>1)A



  • 3关注人数
  • 455浏览人数
  • 最后回答于:2020-12-8 16:28
    请选择关闭问题的原因
    确定 取消
    返回顶部