以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]交叉统计问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=126315)

--  作者:81538475
--  发布时间:2018/10/18 14:56:00
--  [求助]交叉统计问题
Dim g As New SQLCrossTableBuilder("统计表1", "XMFP")
    G.C
    g.HGroups.AddDef("任务开始", "月")
    g.VGroups.AddDef("部门")
    g.Totals.AddDef("当月人天", "当月人天")
    g.Filter = "[任务开始] >= \'2018-01-01\'"
    g.Build()

能够在黄色标记位置显示年月吗?类似 2018-01 或者2018年1月


--  作者:有点甜
--  发布时间:2018/10/18 15:13:00
--  

g.HGroups.AddDef("任务开始", "月")

 

改成

 

g.HGroups.AddExp("任务时间", "year(任务开始) + \'年\' + month(任务开始) + \'月\'")


--  作者:81538475
--  发布时间:2018/10/18 15:15:00
--  
---------------------------
提示
---------------------------
统计错误,错误原因:

在将 varchar 值 \'年\' 转换成数据类型 int 时失败。
---------------------------
确定   
---------------------------
报错了。。如何转换一下呢

--  作者:有点甜
--  发布时间:2018/10/18 15:15:00
--  

如果报错,改成

 

g.HGroups.AddExp("任务时间", "convert(varchar,year(任务开始)) + \'年\' + convert(varchar,month(任务开始)) + \'月\'")


--  作者:81538475
--  发布时间:2018/10/18 15:27:00
--  
新情况出现,这个现在是字符串,这样的话,就无法按照时间排序了。。应该如何处理呀

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


--  作者:有点甜
--  发布时间:2018/10/18 15:34:00
--  

改成

 

g.HGroups.AddExp("任务时间", "convert(varchar(4),任务开始,120) + \'年\' + right(convert(varchar(7),任务开始,120),2) + \'月\'")