Foxtable(狐表)用户栏目专家坐堂 → 请教这种交叉组合统计该怎么做


  共有5741人关注过本帖树形打印复制链接

主题:请教这种交叉组合统计该怎么做

帅哥哟,离线,有人找我吗?
ybil
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:521 积分:4910 威望:0 精华:7 注册:2008/9/2 22:22:00
  发帖心情 Post By:2013/5/15 15:06:00 [显示全部帖子]

Dim dt1,dt2 As fxDataSource
Dim dts As fxDataSource() ={dt1,dt2}
Dim v1 As String() = {"入库","出库"}
Dim jb As  SQLJoinTableBuilder
Dim s1,s2 As String
Dim n1 As Integer

For Each s1 In v1
    jb =new SQLJoinTableBuilder("查询",s1 & "表")
    jb.AddExp("日期", s1 & "日期")
    jb.AddExp(s1 & "单号", s1 & "单号")
    jb.AddExp(s1 & "数量", "数量")
    if n1= v1.length-1 then jb.AddExp("结余", "0.0")
    dts(n1) = jb.BuildDataSource()
    n1+=1
Next

s2 = "日期"
dts(0).Combine(s2,dts(1),s2)

dts(0).show("查询")
Dim t1 As Table =Tables("查询")

t1.StopRedraw
t1.sort = s2
For Each r As Row In t1.Rows
    If r.Index= 0 Then
        r("结余") = r("入库数量")-r("出库数量")
    Else
        r("结余") =t1(r.Index-1,"结余")+ r("入库数量")-r("出库数量")
    End If
Next
t1.ResumeRedraw

 回到顶部
帅哥哟,离线,有人找我吗?
ybil
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:521 积分:4910 威望:0 精华:7 注册:2008/9/2 22:22:00
  发帖心情 Post By:2013/5/15 17:21:00 [显示全部帖子]

如考虑一日内有多笔出入库(同日出入单号相同),这样可能更好些:

Dim dt1,dt2 As fxDataSource
Dim dts As fxDataSource() ={dt1,dt2}
Dim v1 As String() = {"入库","出库"}
Dim g As  GroupTableBuilder
Dim s1,s2 As String
Dim n1 As Integer

For Each s1 In v1
    g =new GroupTableBuilder("查询",DataTables(s1 & "表"))
    g.Groups.AddDef(s1 & "日期",DateGroupEnum.None,"日期") '添加客户列用于分组
    g.Groups.AddDef(s1 & "单号") '添加产品列用于分组
    g.Totals.AddDef("数量",s1 & "数量") '添加数量列用于统计
    
    If n1= v1.length-1 Then g.Totals.AddDef("数量","结余")
    dts(n1) = g.BuildDataSource()
    n1+=1
Next


s2 = "日期"
dts(0).Combine(s2,dts(1),s2)

dts(0).show("查询")
Dim t1 As Table =Tables("查询")

t1.StopRedraw
t1.sort = s2
For Each r As Row In t1.Rows
    If r.Index= 0 Then
        r("结余") = r("入库数量")-r("出库数量")
    Else
        r("结余") =t1(r.Index-1,"结余")+ r("入库数量")-r("出库数量")
    End If
Next
t1.ResumeRedraw
MainTable = Tables("查询")

 回到顶部
帅哥哟,离线,有人找我吗?
ybil
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:521 积分:4910 威望:0 精华:7 注册:2008/9/2 22:22:00
  发帖心情 Post By:2013/5/21 22:36:00 [显示全部帖子]

以下是引用泡泡在2013-5-21 22:02:00的发言:
这个代码不适合表里有表达式字段的统计,否则会报错
生搬硬套的话,那是肯定的


 回到顶部