以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于报表的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=148419)

--  作者:brume
--  发布时间:2020/4/7 16:45:00
--  关于报表的问题

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


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

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

我有一个数据,如图一(表一),想做成图一(表二)的格式,因为他分开两个时间维度,
所以我是用临时表生成器来做,但我的数据工序和单都比较多,每次生成都要1分钟左右,
想问一下,有没有其他方法可以快速生成我要求的报表格式。

谢谢


--  作者:brume
--  发布时间:2020/4/7 16:46:00
--  
我是按月出报表的,显示要查询月的每一天数据
--  作者:有点蓝
--  发布时间:2020/4/7 16:57:00
--  
做个例子发上来测试一下
--  作者:brume
--  发布时间:2020/4/7 17:25:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:2255.png
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:例.rar



例子已上传,我用的是SQL SERVER的,数据库我生成SQL文件了。


--  作者:有点蓝
--  发布时间:2020/4/7 20:58:00
--  
项目文件无法打开,提示文件格式不对。导入数据,看了一下,应该做交叉统计,然后合并就可以了

Dim d As Date = new Date(2020,4,1)

Dim g As New SQLCrossTableBuilder("统计表1", ("fsuf_pmc"))
g.ConnectionName = "t"
g.HGroups.AddExp("日期","convert(nvarchar(10),orderdate,120)")
g.VGroups.AddDef("gxda","{0}_下单")
g.Totals.AddExp("下单数量","jiquantity")
g.Filter = "orderdate >=\'" & d & "\' and orderdate <\'" & d.AddMonths(1) & "\'"
Dim dt1 As fxDataSource
dt1 = g.BuildDataSource()

Dim g2 As New SQLCrossTableBuilder("统计表2", "fsuf_pmc")
g2.ConnectionName = "t"
g2.HGroups.AddExp("日期","convert(nvarchar(10),completedate,120)")
g2.VGroups.AddDef("gxda","{0}_完成")
g2.Totals.AddExp("完成数量","jiquantity")
g2.Filter = "completedate >=\'" & d & "\' and completedate <\'" & d.AddMonths(1) & "\'"
\'g2.Build
Dim dt2 As fxDataSource
dt2 = g2.BuildDataSource()

dt1.Combine("日期",dt2,"日期")
dt1.show("统计表1")

\'以下代码为了重新排序列
Dim dics As new SortedDictionary(Of String, String)
For Each c As Col In Tables("统计表1").Cols
    dics.add(c.Caption,c.Name)
Next
dics.remove("日期")
Dim str As String = "日期|90"
For Each key As String In dics.keys
    str = str & "|" & dics(key) & "|90"
Next

Tables("统计表1").SetColVisibleWidth(str)
Tables("统计表1").sort = "日期"