以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助】两个时点筛选的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=84358)

--  作者:zqxzhs
--  发布时间:2016/4/29 8:36:00
--  [求助】两个时点筛选的问题

我想进行分组统计并计算出同比,那么就需要两个时点数据,不知道这个条件应该怎样写?

Dim g As New GroupTableBuilder("统计表1", DataTables("资产负债表"))
\'g.Filter = "rq = #" & ks.Value & "# And rq = #" & js.Value & "#"
g.Groups.AddDef("rq", DateGroupEnum.Year, "年")
g.Groups.AddDef("rq", "月")
g.Groups.AddDef("rq", DateGroupEnum.Day, "日")
g.Totals.AddDef("zb1")
g.Totals.AddDef("zb2")
g.Totals.AddDef("zb3")
g.Totals.AddDef("zb4")
g.Totals.AddDef("zb5")
g.Totals.AddDef("zb6")
g.Totals.AddDef("zb7")
g.Totals.AddDef("zb8")
g.Totals.AddDef("zb9")
g.Totals.AddDef("zb10")
g.Totals.AddDef("zb11")
g.Totals.AddDef("zb12")
g.Totals.AddDef("zb13")
g.Totals.AddDef("zb14")
g.Totals.AddDef("zb16")
g.Totals.AddDef("zb17")
g.Totals.AddDef("zb18")
g.SamePeriodGrowth = True
Tables("生成经监测表_Table1").DataSource = g.BuildDataSource()

请教老师!


--  作者:Hyphen
--  发布时间:2016/4/29 8:49:00
--  
不用设置什么条件的,代码运行有什么问题?

可以按照下面的方式查看生成的sql

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

如果同时有多个日期分组,例如同时根据日期的年和月分组统计,那么可以选择选项“生成同比”

--  作者:zqxzhs
--  发布时间:2016/4/29 9:04:00
--  
老师,内容多了,我仅想看到一个时点的数据,把该时点数据导出,我想加载当期与去年同期数,加载条件不知怎么写,加载后没有数据。
[此贴子已经被作者于2016/4/29 9:04:57编辑过]

--  作者:zqxzhs
--  发布时间:2016/4/29 9:10:00
--  
老师,内容多我想看到一个时点数据和同比,所以要加载两个时点的数据,先筛选后再分组统计,将统计的数据导出。
--  作者:大红袍
--  发布时间:2016/4/29 9:12:00
--  

比如

 

g.Filter = "rq >= #" & ks.Value & "# And rq <= #" & js.Value & "# Or rq >= #" & ks.Value.AddYears(-1) & "# And rq <= #" & js.Value.AddYears(-1) & "#"

[此贴子已经被作者于2016/4/29 9:39:06编辑过]

--  作者:zqxzhs
--  发布时间:2016/4/29 9:21:00
--  
这样写条件,统计结果无数据。
--  作者:zqxzhs
--  发布时间:2016/4/29 9:32:00
--  

Dim ks As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker1")
Dim js As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker2")
\'DataTables("资产负债表").LoadFilter = ""
\'DataTables("资产负债表").Load
\'

Dim g As New GroupTableBuilder("统计表1", DataTables("资产负债表"))
\'g.Filter = "rq = #" & ks.Value & "# And rq = #" & js.Value & "#"
g.Groups.AddDef("rq", DateGroupEnum.Year, "年")
g.Groups.AddDef("rq", "月")

g.Totals.AddDef("zb1")
g.Totals.AddDef("zb2")
g.Totals.AddDef("zb3")
g.Totals.AddDef("zb4")
g.Totals.AddDef("zb5")
g.Totals.AddDef("zb6")
g.Totals.AddDef("zb7")
g.Totals.AddDef("zb8")
g.Totals.AddDef("zb9")
g.Totals.AddDef("zb10")
g.Totals.AddDef("zb11")
g.Totals.AddDef("zb12")
g.Totals.AddDef("zb13")
g.Totals.AddDef("zb14")
g.Totals.AddDef("zb16")
g.Totals.AddDef("zb17")
g.Totals.AddDef("zb18")
g.Filter = "rq = #" & ks.Value & "#"
g.SamePeriodGrowth = True
Tables("生成监测表_Table1").DataSource = g.BuildDataSource()

写一个条件有数据,但无同比


--  作者:大红袍
--  发布时间:2016/4/29 9:39:00
--  

哦,写错了

 

g.Filter = "rq >= #" & ks.Value & "# And rq <= #" & js.Value & "# Or rq >= #" & ks.Value.AddYears(-1) & "# And rq <= #" & js.Value.AddYears(-1) & "#"


--  作者:zqxzhs
--  发布时间:2016/4/29 10:08:00
--  
这样加入的是一年的数据,采用加载不能加两个时点的数据吗
--  作者:大红袍
--  发布时间:2016/4/29 10:11:00
--  
8楼代码没问题啊,什么两个时间点啊,不会做就上传实例