"[图片] [图片] 按科室和主要诊断分组,我想只显示每个科室病例数为前 5 位的主要诊断,在哪里设置条件?"
按科室和主要诊断分组,我想只显示每个科室病例数为前 5 位的主要诊断,在哪里设置条件?
这里两个方案可供选择:1、在数据集里计算好前 5 位,然后单元格直接取数显示这里数据集可以用 sql 或者集算器脚本数据集https://c.raqsoft.com.cn/article/1599810565014#toc_h3_10
2、先对计算后数据排序,然后下面取对应前 5 条 润乾报表 统计表如何实现数据按照单元格计算后的结果排序
建议:1、在 sql 里处理:按出院科室和主要诊断 group by,其他计算字段做 count 或 avg 汇总,返回每组前五数据,比如参考类似帖子:https://blog.csdn.net/yizhiduxiu/article/details/3905493/2、用脚本数据集,可参考如何计算每组前 N 1.14 分组:组内筛选前 N 名 / 后 N 名3、如果基于目前报表做的情况下且不想改动数据集,也可以用隐藏行方式,需要借助辅助列(比如在 C 列后插入一列,且设置隐藏)计算组内排序,可参 玩转报表排名之组内排名 内“区内排序”列,然后在此单元格同时设置隐藏行表达式 “value()>5”即可,把排序大于 5 的隐藏掉。
三种方法都实现了,第三种方法最简单。第二个分组表达式:group(主要诊断:1;;ds1.count():-1)即可实现按病例数在组内从大到小排序。增加一个行号列,表达式:&B2,左主格设为 B2。设置行号单元格的隐藏行表达式:value()>5。没有用到排名。
这里两个方案可供选择:
1、在数据集里计算好前 5 位,然后单元格直接取数显示
这里数据集可以用 sql 或者集算器脚本数据集
https://c.raqsoft.com.cn/article/1599810565014#toc_h3_10
2、先对计算后数据排序,然后下面取对应前 5 条 润乾报表 统计表如何实现数据按照单元格计算后的结果排序
建议:
1、在 sql 里处理:按出院科室和主要诊断 group by,其他计算字段做 count 或 avg 汇总,返回每组前五数据,比如参考类似帖子:https://blog.csdn.net/yizhiduxiu/article/details/3905493/
2、用脚本数据集,可参考如何计算每组前 N 1.14 分组:组内筛选前 N 名 / 后 N 名
3、如果基于目前报表做的情况下且不想改动数据集,也可以用隐藏行方式,需要借助辅助列(比如在 C 列后插入一列,且设置隐藏)计算组内排序,可参 玩转报表排名之组内排名 内“区内排序”列,然后在此单元格同时设置隐藏行表达式 “value()>5”即可,把排序大于 5 的隐藏掉。
三种方法都实现了,第三种方法最简单。第二个分组表达式:group(主要诊断:1;;ds1.count():-1)即可实现按病例数在组内从大到小排序。增加一个行号列,表达式:&B2,左主格设为 B2。设置行号单元格的隐藏行表达式:value()>5。没有用到排名。