以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  组合统计没有数据?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=13042)

--  作者:lihe60
--  发布时间:2011/9/25 16:56:00
--  组合统计没有数据?
组合统计没有数据?再次请教!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:桌面.rar


--  作者:lihe60
--  发布时间:2011/9/25 17:01:00
--  

这是狐表自表还的例子,我只是把内部数据源换成外外部数据源。条件不加载数据的情况下组合统计数据,请问如何解决。


--  作者:狐狸爸爸
--  发布时间:2011/9/25 17:07:00
--  

GroupTableBuilder本来就是针对已经加载的数据的,不加载当然不统计。

统计未加载的数据,应该是SQLGroupTableBuilder.


--  作者:lihe60
--  发布时间:2011/9/29 11:42:00
--  
以下是引用狐狸爸爸在2011-9-25 17:07:00的发言:

GroupTableBuilder本来就是针对已经加载的数据的,不加载当然不统计。

统计未加载的数据,应该是SQLGroupTableBuilder.

SQLGroupTableBuilder,如何组合统计结果?


--  作者:狐狸爸爸
--  发布时间:2011/9/29 11:49:00
--  

方法一样,用Combine

GroupTableBuilder可以看看这里的示例二:

http://www.foxtable.com/help/topics/2307.htm

 


--  作者:lihe60
--  发布时间:2011/9/29 12:37:00
--  
以下是引用狐狸爸爸在2011-9-29 11:49:00的发言:

方法一样,用Combine

GroupTableBuilder可以看看这里的示例二:

http://www.foxtable.com/help/topics/2307.htm

 

Dim sql As String = "Select 产品名称,数量,日期 FROM {订单} INNER JOIN {产品} ON {订单}.产品ID = {产品}.产品ID"
Dim b As New CrossTableBuilder("统计表1",sql, "Sale")
b.HGroups.AddDef("产品名称")
b.VGroups.AddDef("日期","{0}月")
b.Totals.AddDef("数量")
b.HorizontalTotal = True
b.VerticalTotal = True
b.Build()
MainTable = Tables("统计表1")



这个代码不能执行,是为什么?
--  作者:mr725
--  发布时间:2011/9/29 15:20:00
--  
看看你数据源名称???
--  作者:lihe60
--  发布时间:2011/9/30 7:46:00
--  

附件应该可以看到数据源名称的。


--  作者:lihe60
--  发布时间:2011/11/3 22:15:00
--  
以下是引用狐狸爸爸在2011-9-29 11:49:00的发言:

方法一样,用Combine

GroupTableBuilder可以看看这里的示例二:

http://www.foxtable.com/help/topics/2307.htm

 

方法一样,用Combine

 

贺老师,你做个用外部数据源组合多个统计结果例子吧!!!

我研究好好多天,还是没有想通。

[此贴子已经被作者于2011-11-3 22:16:54编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/11/3 23:18:00
--  

Dim bd1 As New SQLGroupTableBuilder("统计表1","进货单")
Dim dt1 As fxDataSource
bd1.Connection Name = "erp"
bd1.Groups.AddDef("型号") \'根据型号分组
bd1.Totals.AddDef("数量","进货_数量") \'对数量进行统计
bd1.Totals.AddExp("进货_金额","数量 * 单价") \'对金额进行统计
dt1 = bd1.BuildDataSource()

Dim bd2 As New SQLGroupTableBuilder("统计表2","销售单")
Dim dt2  As fxDataSource
bd2.Connection Name = "erp"
bd2.Groups.AddDef("型号") \'根据型号分组
bd2.Totals.AddDef("数量","销售_数量") \'对数量进行统计
bd2.Totals.AddExp("销售_金额","数量 * 售价") \'对金额进行统计
dt2 = bd2.BuildDataSource()

Dim bd3 As New SQLGroupTableBuilder("统计表3","退货单")
Dim dt3 As fxDataSource
bd3.Connection Name = "erp"
bd3.Groups.AddDef("型号") \'根据型号分组
bd3.Totals.AddDef("数量","退货_数量") \'对数量进行统计
bd3.Totals.AddExp("退货_金额","数量 * 单价") \'对金额进行统计
dt3 = bd3.BuildDataSource()

dt1.Combine("型号",dt2,"型号") \'将销售统计数据组合到进货统计数据
dt1.Combine("型号",dt3,"型号") \'将退货统计数据组合到进货统计数据

Tables("窗口1_Table1").DataSource = dt1 \'将统计结果绑定到Table
With DataTables("窗口1_Table1").DataCols  \'用表达式列计算库存数据
    .Add("库存_数量",Gettype(Integer), "IsNull([进货_数量],0) - ISNULL([销售_数量],0) - ISNULL([退货_数量],0)")
    .Add("库存_金额",Gettype(Double), "[库存_数量] /[进货_数量] * [进货_金额]")
End With

[此贴子已经被作者于2011-11-3 23:18:39编辑过]