以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 不知该用哪个统计语句 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=23879) |
-- 作者:zhangc2000 -- 发布时间:2012/9/22 14:55:00 -- 不知该用哪个统计语句 1、我希望实现如下统计: 对一个地区多个经销商每个月的进货额进行统计,得到平均值。 有两个表:经销商基本信息表(代码、名称)和进货表(代码、月份、进货额),两表以(代码)列相关联。 我学习了帮助文件,仍然不知道应该采用分组统计还是交叉统计?(我感觉分组统计就是一维表,交叉统计是二维表)
2、我试了一下分组统计的例子,但不知道怎样将两个表的关联性体现出来。第二行执行不了,表达方式不对,但为什么? Dim b As New GroupTableBuilder("统计表1",DataTables("进货额")) 请给与帮助。
谢谢 |
-- 作者:lin_hailun -- 发布时间:2012/9/22 15:17:00 -- 楼主是问 根据日期统计各个地区的进货额? [此贴子已经被作者于2012-9-22 15:18:01编辑过]
|
-- 作者:zhangc2000 -- 发布时间:2012/9/22 15:47:00 -- 对。每个地区都有一些经销商。当统计A地区时,程序将筛选出的经销商代码存入数组sz中。 |
-- 作者:lin_hailun -- 发布时间:2012/9/22 15:53:00 -- 哦哦,明白。 \'处理一下数组 dim data as String = "" for each s as String in sz data = data & s & "," next data = data.trim(",") b.Filter = "[企业代码] in (" & data & ")" |
-- 作者:zhangc2000 -- 发布时间:2012/9/22 17:10:00 -- 我试了您的方法,统计不出来。但您的意思我明白了。是不是我的数组存放有问题?请给与指点。 Dim dq As String dq = e.Form.controls("选择地区").text Dim n As Integer If DataTables("基本信息").find("[所属地区] = \'"& dq &"\'") IsNot Nothing Then b.Groups.AddDef("进货日期",DateGroupEnum.Year,"年") \'添加日期列用于分组,并用"年"代替原名称 End If
谢谢 |
-- 作者:lin_hailun -- 发布时间:2012/9/22 17:23:00 -- hello,改成下面这样。 Dim dq As String dq = e.Form.controls("选择地区").text Dim n As Integer If DataTables("基本信息").find("[所属地区] = \'"& dq &"\'") IsNot Nothing Then drs = DataTables("基本信息").Select("[所属地区] = \'" & dq & "\'") Dim ids As String = "" For Each dr As DataRow In drs ids = idx & dr("_Identify") & "," Next ids.Trim(",") Dim b As New GroupTableBuilder("统计表1",DataTables("进货额")) b.Filter = "_Identify in (" & ids & ")" b.Groups.AddDef("进货日期",DateGroupEnum.Year,"年") \'添加日期列用于分组,并用"年"代替原名称 b.Groups.AddDef("进货日期","月") \'添加日期列用于分组,并用"月"代替原名称 b.Totals.AddDef("进货额") \'对数量进行统计 b.Build \'生成统计表 MainTable = Tables("统计表1") \'打开生成的统计表 End If |
-- 作者:zhangc2000 -- 发布时间:2012/9/23 9:44:00 -- 我试了上述方法,还是统计不出来。我感觉是否是Filter语句有问题,好像不支持如下格式:b.Filter = "[企业代码] = A001,A010,A134"这样的格式。
|
-- 作者:zhangc2000 -- 发布时间:2012/9/23 9:57:00 -- 已经解决。只要在ids两旁加上单引号即可实现。
谢谢 |