以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  按月求和后再两列相除。。。  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=49874)

--  作者:fubblyc
--  发布时间:2014/4/25 10:23:00
--  按月求和后再两列相除。。。
VIP客单价=VIP销售额/VIP销售笔数(即:购买的人数)
 
如下按月统计时,VIP客单价 就把每天每个人都加起来了,而不是VIP销售额/VIP购买人数
 
这样数据就不准了。。。。
不知道有什么办法没。。。。
 
 
Tables("经营成果分析_经营成果分析").Fill("Select 购买日期 As 日期, 门市专柜编号, SUM(实收金额) As VIP销售额,COUNT(DISTINCT VIP卡号) As VIP销售笔数,SUM(实收金额)/COUNT(DISTINCT VIP卡号) As VIP客单价" _
& " FROM (dbo.VIP消费信息" _
& " GROUP BY 购买日期, 门市专柜编号", "VIP数据", True)


Dim g As New GroupTableBuilder("统计表2", Tables("经营成果分析_经营成果分析").DataTable)
g.Groups.AddDef("日期", DateGroupEnum.Year, "年")
g.Groups.AddDef("日期", "月")
g.Groups.AddDef("门市专柜编号")
g.Totals.AddDef("VIP销售额")
g.Totals.AddDef("VIP销售笔数")
g.Totals.AddDef("VIP客单价")                   这样按统计时,VIP客单价 就把每天每个人都加起来了,而不是月VIP销售额/月VIP购买人数
 
Tables("经营成果分析_经营成果分析").DataSource = g.BuildDataSource()

--  作者:有点甜
--  发布时间:2014/4/25 10:28:00
--  

这样改一下

 

Tables("经营成果分析_经营成果分析").Fill("Select 购买日期 As 日期, 门市专柜编号, SUM(实收金额) As VIP销售额,COUNT(DISTINCT VIP卡号) As VIP销售笔数,SUM(实收金额)/COUNT(DISTINCT VIP卡号) As VIP客单价" _
& " FROM (dbo.VIP消费信息" _
& " GROUP BY 购买日期, 门市专柜编号", "VIP数据", True)

Dim g As New GroupTableBuilder("统计表2", Tables("经营成果分析_经营成果分析").DataTable)
g.Groups.AddDef("日期", DateGroupEnum.Year, "年")
g.Groups.AddDef("日期", "月")
g.Groups.AddDef("门市专柜编号")
g.Totals.AddDef("VIP销售额")
g.Totals.AddDef("VIP销售笔数")
 
Tables("经营成果分析_经营成果分析").DataSource = g.BuildDataSource()

Tables("经营成果分析_经营成果分析").DataTable.DataCols.Add("VIP客单价", Gettype(Double), "VIP销售额 / VIP销售笔数")


--  作者:fubblyc
--  发布时间:2014/4/25 10:31:00
--  
哦哦。哈哈。看来我的基础还是不够。要灵活运用。谢谢甜老师!!!