项目中遇到需要实现如下折角统计图:
联想到此数据结果与ROLLUP统计结果十分类似,因此做了一个小工具实现此表格。
具体步骤:
1,准备数据表:
create table TESTYSH
(
year VARCHAR2(4), --年份
season_dm NUMBER, --季度代码
season VARCHAR2(8), --季度名称
place_dm NUMBER, --区域代码
place VARCHAR2(80), --区域名称
sellnum NUMBER, --营销量
sells NUMBER --营销额
);
此处只做简单的表,具体应用到业务需要自行调整。
2,插入准备数据:
insert into TESTYSH (YEAR, SEASON_DM, SEASON, PLACE_DM, PLACE, SELLNUM, SELLS)values ('2017', 1, '第一季度', 1, '东北区块', 356, 5231);
insert into TESTYSH (YEAR, SEASON_DM, SEASON, PLACE_DM, PLACE, SELLNUM, SELLS)values ('2017', 1, '第一季度', 4, '华中区块', 320, 4800);
insert into TESTYSH (YEAR, SEASON_DM, SEASON, PLACE_DM, PLACE, SELLNUM, SELLS)values ('2017', 1, '第一季度', 2, '华北区块', 254, 4200);
insert into TESTYSH (YEAR, SEASON_DM, SEASON, PLACE_DM, PLACE, SELLNUM, SELLS)values ('2017', 1, '第一季度', 3, '华南区块', 311, 4512);
insert into TESTYSH (YEAR, SEASON_DM, SEASON, PLACE_DM, PLACE, SELLNUM, SELLS)values ('2017', 2, '第二季度', 4, '华中区块', 503, 6423);
insert into TESTYSH (YEAR, SEASON_DM, SEASON, PLACE_DM, PLACE, SELLNUM, SELLS)values ('2017', 2, '第二季度', 3, '华南区块', 516, 6598);
insert into TESTYSH (YEAR, SEASON_DM, SEASON, PLACE_DM, PLACE, SELLNUM, SELLS)values ('2017', 3, '第三季度', 1, '东北区块', 901, 8921);
insert into TESTYSH (YEAR, SEASON_DM, SEASON, PLACE_DM, PLACE, SELLNUM, SELLS)values ('2017', 3, '第三季度', 6, '新疆区块', 35, 526);
insert into TESTYSH (YEAR, SEASON_DM, SEASON, PLACE_DM, PLACE, SELLNUM, SELLS)values ('2017', 3, '第三季度', 5, '西北区块', 60, 630);
insert into TESTYSH (YE