以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  能给个组合多表交叉统计结果的例子吗?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=40674)

--  作者:czy66ds
--  发布时间:2013/9/26 13:46:00
--  能给个组合多表交叉统计结果的例子吗?

如题,组合多表分组统计结果的例子帮助里已有了( 组合统计结果.Table),

能再给个组合多表交叉统计结果的例子吗?谢谢。


--  作者:y2287958
--  发布时间:2013/9/26 13:59:00
--  
道理一样
--  作者:Bin
--  发布时间:2013/9/26 14:04:00
--  
2楼说的没错,一样的.

GroupTableBuilder换成  CrossTableBuilder 就行 http://www.foxtable.com/help/topics/0678.htm

--  作者:czy66ds
--  发布时间:2013/9/26 14:16:00
--  

请看,我是这样写的,为何报错呢?

 

Dim g1 As New CrossTableBuilder("结存统计", DataTables("上月结存"))

Dim f1 As fxDataSource

g1.HGroups.AddDef("款号")

g1.VGroups.AddDef("尺码")

g1.Totals.AddDef("数量", "结存_数量")

g1.Build()

f1 =g1.BuildDataSource()

 

Dim g2 As New CrossTableBuilder("入库统计", DataTables("本月入库"))

Dim f2 As fxDataSource

g2.HGroups.AddDef("款号")

g2.VGroups.AddDef("尺码")

g2.Totals.AddDef("数量", "入库_数量")

g2.Build()

f2 =g2.BuildDataSource()

 

Dim g3 As New CrossTableBuilder("出库统计", DataTables("本月出库"))

Dim f3 As fxDataSource

g3.HGroups.AddDef("款号")

g3.VGroups.AddDef("尺码")

g3.Totals.AddDef("数量", "出库_数量")

g3.Build()

f3 =g3.BuildDataSource()

 

Dim g4 As New CrossTableBuilder("销售统计", DataTables("本月销售"))

Dim f4 As fxDataSource

g4.HGroups.AddDef("款号")

g4.VGroups.AddDef("尺码")

g4.Totals.AddDef("数量", "销售_数量")

g4.Build()

f4 =g4.BuildDataSource()

 

f1.Combine("款号",f2,"款号") \'将入库统计数据组合到结存统计数据

f1.Combine("款号",f3,"款号") \'将出库统计数据组合到结存统计数据

f1.Combine("款号",f4,"款号") \'将销售统计数据组合到结存统计数据

 

Tables("统计窗口_Table1").DataSource = f1 \'将统计结果绑定到Table

With DataTables("统计窗口_Table1").DataCols  \'用表达式列计算库存数据

    .Add("库存_数量",Gettype(Integer), "IsNull([入库_数量],0)+IsNull([结存_数量],0) - ISNULL([销售_数量],0) - ISNULL([出库_数量],0)")


--  作者:czy66ds
--  发布时间:2013/9/26 14:17:00
--  

后边还有一句

 

End With


--  作者:czy66ds
--  发布时间:2013/9/26 14:19:00
--  

关键是这一段怎么写:

Tables("统计窗口_Table1").DataSource = f1 \'将统计结果绑定到Table

With DataTables("统计窗口_Table1").DataCols  \'用表达式列计算库存数据

    .Add("库存_数量",Gettype(Integer), "IsNull([入库_数量],0)+IsNull([结存_数量],0) - ISNULL([销售_数量],0) - ISNULL([出库_数量],0)")


 

End With


--  作者:狐狸爸爸
--  发布时间:2013/9/26 14:20:00
--  

你最好做个简单的例子发上来测试。


--  作者:czy66ds
--  发布时间:2013/9/26 14:56:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目4.rar

项目传上去了,请帮助测试。
--  作者:Bin
--  发布时间:2013/9/26 15:13:00
--  
你这个表达式不能这么统计的呀,你交叉统计生成的表,哪里有你表达式所写的列呢?

[入库_数量] [结存_数量] [销售_数量] [出库_数量]  这些列都是没有的啊,当然没办法统计了.

--  作者:czy66ds
--  发布时间:2013/9/26 15:19:00
--  

 

我就是要达到如下效果:

 

款号

M

XL

L

S

总计

A1BB3212081

0

-1

-1

A1BB3212375

1

1

0

2

A1BB3212382

4

4

A1BB3212582

2

2

A1BB3212781

1

1

A1BB3221875

1

1

1

3

A1BB3222131

4

1

5

5

15

A1BB3222181

0

0

0

A1BB3222481

5

6

11

A1BB3230381

2

1

2

3

8

A1BB3230389

7

0

0

7

A1BB3232281

2

1

1

4

A1BB3331804

9

5

8

6

28

A1BB3342389

5

5

5

3

18

A1BE3340272

9

6

9

6

30

A1BE3340626

5

5

5

3

18

 

请版主帮助修改一下吧。