累计统计报表的制作

3231
1

小灰灰1 数据达人Lv4

发表于2020-7-30 19:19

楼主
报表需求:
列出销售额占了前一半的大客户名单和金额以及这些客户的数量和平均销售额。
注:占用一半大客户规则指,按照金额从大到小排序,然后对金额累加,知道累加值到 总金额的一半。
表样结果:
截图202007301918304252.png
制作过程
1. 准备SQL主题表
SQL语句为:selectcustomer,sum(sales) as sales  from salesgroup by customer  order by sum(sales)desc
2. 设计报表模板
截图202007301918408703.png
其中,
A1:=sum(TEST.sales)/2计算所有客户的销售总金额的一半,并在右侧属性里设置隐藏属性
A3:=TEST.customer  浮动维字段,同时在右侧设置排序的依据是B3
C3:=self.leftcell.value+self.upcell.value实现金额累计计算
D3:=if(GRID1.C3.upcell.value<GRID1.A1,1,null)  根据累计金额将符合条件的数据标识为1,不符合条件的标识为null,方便后面统计数量
B4:=sum(GRID1.D3$),根据D3的标识统计出来大客户数量
B5:=GRID1.D3$.select(@.value=1).select(true,@.leftcell(2).value).avg() 先使用数组的方式过滤出来对应的数据,然后再进行求平均的计算
其他辅助设置:
隐藏行:选中第3行设置显示表达式为:<#=if(GRID1.D3=1,1,0)#>

最近看过此主题的会员

zhaolj

ssssssss

逆流而上

zzsn9988

TOTOP

1个回答

只看楼主

小亿 管理员

发表于2020-8-4 14:57

只看该作者

取消 关注该作者的回复

沙发

优秀!

登录后可回答问题,请登录注册

快速回复 返回顶部 返回列表

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

渠道咨询电话:137-0120-6790

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

版权所有© 2006-2024 北京亿信华辰软件有限责任公司 京ICP备07017321号 京公网安备11010802016281号