以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  统计问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=61308)

--  作者:utcxray
--  发布时间:2014/12/10 17:00:00
--  统计问题
如图
图片点击可在新窗口打开查看此主题相关图片如下:无标题1.png
图片点击可在新窗口打开查看

目的:

按年,按月,按人头,统计每个人按月的单子的批次,比如张三2014年11月2批,2014年6月1批,2012年2月1批。李四2012年2月2批,2014年10月1批。

谢谢!

--  作者:utcxray
--  发布时间:2014/12/10 17:01:00
--  
TEST文件
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:t.foxdb


--  作者:Bin
--  发布时间:2014/12/10 17:02:00
--  
用交叉统计. http://www.foxtable.com/help/topics/0165.htm
--  作者:utcxray
--  发布时间:2014/12/10 17:07:00
--  
select 客户单位, Count(*)  as 批次,sum(出库数量*销售单价) as 金额 from {出库} group by 客户单位 
语句不对

出错:重复计数  加DISTINCT不知加哪

--  作者:utcxray
--  发布时间:2014/12/10 17:14:00
--  
出错图
图片点击可在新窗口打开查看此主题相关图片如下:无标题1.png
图片点击可在新窗口打开查看
张三2月份应该是1批,因为单号相同

--  作者:有点甜
--  发布时间:2014/12/10 17:50:00
--  

 这样?

 

Dim sql As String = "select num, (select top 1 name from {表A} b where a.num = b.num) as name, (select top 1 datee from {表A} b where a.num = b.num) as datee from (select DISTINCT num from {表a}) a"
Dim g As New CrossTableBuilder("统计表1", sql)
g.HGroups.AddDef("name")
g.VGroups.AddDef("datee", "{0}月")
g.Totals.AddDef("num", AggregateEnum.Count, "num")
g.Build()
MainTable = Tables("统计表1")