以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  统计 年龄段 的人数  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=87296)

--  作者:fubblyc
--  发布时间:2016/7/7 17:28:00
--  统计 年龄段 的人数
            Dim b As New SQLCrossTableBuilder("统计表1","VIP会员基本信息")
            b.C
            b.HGroups.AddDef("发卡单位") \'添加客户列用于水平分组
            b.hGroups.AddDef("建档日期",DateGroupEnum.Year,"年度") \'添加日期列用于垂直分组,按年分组
            b.VGroups.AddDef("会员类型") \'添加产品列用于垂直分组,并设置了Pattern参数
            b.VGroups.AddDef("性别") \'添加产品列用于垂直分组,并设置了Pattern参数
            b.VGroups.AddExp("年龄","year(GETDATE())-year(出生日期)",AggregateEnum.count)     计算出年龄
            b.Totals.AddDef("会员类型",AggregateEnum.count) \'添加数量列用于统计
蓝框 就是 年龄 ,下面 是 人数统计 ,想实现 年龄段 的统计,比如1~20岁 XX人,21~30岁 XX人  而不是每个年龄都统计出来。。。不知道怎么弄

图片点击可在新窗口打开查看此主题相关图片如下:年龄.jpg
图片点击可在新窗口打开查看



[此贴子已经被作者于2016/7/7 17:29:01编辑过]

--  作者:大红袍
--  发布时间:2016/7/7 17:38:00
--  

 

b.VGroups.AddExp("年龄","case when year(GETDATE())-year(出生日期) <= 20 then \'0-20\' when year(GETDATE())-year(出生日期) > 20 and year(GETDATE())-year(出生日期) <= 30 then \'21-30\' else null end")

 


--  作者:fubblyc
--  发布时间:2016/7/7 23:05:00
--  

完美解决。谢谢!!