以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]多表统计中的日期列  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=150249)

--  作者:天一生水
--  发布时间:2020/5/25 11:20:00
--  [求助]多表统计中的日期列
老师好!
我测试多表统计时,为什么统计表中的日期列是数字而不是日期?

Dim b As New sqlCrossTableBuilder("统计表1","日历表")
b.AddTable("日历表","阳历日期","数据表","日期")

b.HGroups.AddDef("星期")   \'添加客户列用于水平分组
b.HGroups.AddDef("日期")   \'添加客户列用于水平分组

b.VGroups.AddDef("名称")   \'添加产品列用于垂直分组
b.Totals.AddDef("涨跌幅")    \'添加数量列用于统计
b.Build \'生成统计表
MainTable = Tables("统计表1") \'打开生成的统计表


图片点击可在新窗口打开查看此主题相关图片如下:004.jpg
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:统计提问.table
[此贴子已经被作者于2020/5/25 11:20:49编辑过]

--  作者:有点蓝
--  发布时间:2020/5/25 11:24:00
--  
b.HGroups.AddDef("日期",DateGroupEnum.none) 


DateGroup:  DateGroupEnum型枚举,如果分组列是日期列,可用此属性指定如何根据日期进行分组,默认按月分组。

DateGroupEnum枚举的可选值:

 

None :     不分组
Year:      按年分组 
Quarter:   按季度分组
Month:     按月分组
Week:      按周分组
Day:       按天分组,月中的某一天。
Hour:      按小时分组
Minute:    按分钟分组 Second:    按秒分组


--  作者:天一生水
--  发布时间:2020/5/25 16:24:00
--  
谢谢蓝老师!
上面的实例中的涨跌幅数据截止到4月30日,我想即使没有后面的数据,在统计表中的[阳历日期]也列满全年的日期,需要怎样设置?
比如,图中的红线上面属于星期二的截止到2020-4-28,就是把2020年属于星期二的阳历日期都列出来。统计表的第三列如果没有涨跌幅数据的就空着。

图片点击可在新窗口打开查看此主题相关图片如下:005.jpg
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2020/5/25 16:33:00
--  
只能是生成报表后手工添加。

比如
Dim d1 As Date = cdate("2020-05-01")
Dim d2 As Date = cdate("2020-05-31")

Do While d1 <= d2
    If d1.DayOfWeek = 2 Then
        Output.Show(d1)
    End If
    d1 = d1.AddDays(1)
Loop