我的目标:让中国的大学生走出校门的那一刻就已经具备这些Office技能,让职场人士能高效使用Office软件为其服务。支持我,也为自己加油!
最近连续碰到的几位客户都有同样的需求,从系统中导出的数据源比较大,或者是经年累月数据量越来越大,呈现给上级的报表不需要包括数据源,只需要结果报表即可,公司对数据管理管理方面并未采用数据库,或者是采用了数据库,但不是所有人都会查询语言,都是从数据库里导出最全的数据然后利用Excel去分析。
遇到这种情况,如果想做一个自动报表的模板,采取VBA+ADO技术无疑是一种好办法,所以我们很有必要学习下这门技术,基本原理我就不讲了,大家可以参照:今天分享下最近解决问题时常用的几个SQL语句:
数据源结构如下(真实数据源有很多列,此处经过简化):
select distinct(客户编码) from [订单表$]select count(客户编码) as 客户编码条数 from [订单表$]
select count(客户编码) as 客户编码数量 from (select distinct(客户编码) from [订单表$])select 客户编码,left(订单时间,10) as 时间,sum(订单金额) as 订单金额 from [订单表$] group by 客户编码,left(订单时间,10)select 客户编码,left(订单时间,10) as 时间,count(客户编码) as 订单笔数 from [订单表$] group by 客户编码,left(订单时间,10)6、求每个客户编码对应的日期的订单笔数,排除客户编码以为”AC“开头的客户编码select 客户编码,left(订单时间,10) as 时间,count(客户编码) as 订单笔数 from [订单表$] where 客户编码 not like 'AC%'group by 客户编码,left(订单时间,10)7、求每个客户编码对应的日期的订单笔数,日期横着放transform count(客户编码) select 客户编码 from [订单表$] group by 客户编码 pivot left(订单时间,10)在Excel中练习时大家完全可以自己设置一个模板,直接写SQL语句运行即可,如下:
本节先分享到这里,祝大家每天都有进步。