Foxtable(狐表)用户栏目专家坐堂 → 好像又发现一个bug,交叉表为啥无端端有一列重复了?这个代码很简单,也用了半年了,突然就出问题


  共有186人关注过本帖树形打印复制链接

主题:好像又发现一个bug,交叉表为啥无端端有一列重复了?这个代码很简单,也用了半年了,突然就出问题

帅哥哟,离线,有人找我吗?
chen37280600
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:105 积分:809 威望:0 精华:0 注册:2017/12/31 14:53:00
好像又发现一个bug,交叉表为啥无端端有一列重复了?这个代码很简单,也用了半年了,突然就出问题  发帖心情 Post By:2018/11/8 20:41:00 [只看该作者]

原始数据:


此主题相关图片如下:2.png
按此在新窗口浏览图片

 

 

Dim b As new SQLCrossTableBuilder("tjb1","FinanceInfo")
b.C
b.HGroups.AddDef("FinanceTime", DateGroupEnum.Year, "支付日期_年")
b.HGroups.AddDef("FinanceTime", DateGroupEnum.Month, "支付日期_月")
b.HGroups.AddDef("FinanceTime", DateGroupEnum.Day, "支付日期_日")
b.VGroups.AddDef("FinancePayWay","{0}")
'b.Totals.AddExp("收入", "Case When FinanceMoney > 0 then FinanceMoney else 0 End")
'b.Totals.AddExp("支出", "Case When FinanceMoney < 0 then FinanceMoney else 0 End")
b.Totals.AddExp("总计", "FinanceMoney")
b.HorizontalTotal =True
b.VerticalTotal =True
b.Subtotal =True


Dim t As Table = Tables("FinanceCrossReport_Table1")
t.DataSource  = b.BuildDataSource


t.AutoSizeCols

 


此主题相关图片如下:1.png
按此在新窗口浏览图片


[此贴子已经被作者于2018/11/8 20:43:54编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:72502 积分:363620 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/8 20:44:00 [只看该作者]

表数据后面有空格,就会这样。

 

你循环每一行,把数据的空格删除,即可。

[此贴子已经被作者于2018/11/8 20:43:50编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
chen37280600
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:105 积分:809 威望:0 精华:0 注册:2017/12/31 14:53:00
  发帖心情 Post By:2018/11/8 20:47:00 [只看该作者]

数据的空格,是什么?

 

是FinancePayWay 的空格吗?

 

生成里列的时候,因为有空格,所以判断为不一样,但是统计数字的时候,sql过滤空格,所以统计出相同的数字

 

output.show(DataTables("FinanceInfo").SQLGetComboListString("FinancePayWay","","FinancePayWay"))

 

结果:待入账|工商银行|建设银行|顺丰代收|微信|现金|有赞|支付宝|中国银行

[此贴子已经被作者于2018/11/8 20:49:52编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:72502 积分:363620 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/8 20:49:00 [只看该作者]

以下是引用chen37280600在2018/11/8 20:47:00的发言:
数据的空格,是什么?

 

比如数据后面后空格字符。 123空格空格空格 和 123 不同的


 回到顶部
帅哥哟,离线,有人找我吗?
chen37280600
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:105 积分:809 威望:0 精华:0 注册:2017/12/31 14:53:00
  发帖心情 Post By:2018/11/8 20:51:00 [只看该作者]

以下是引用有点甜在2018/11/8 20:49:00的发言:

 

比如数据后面后空格字符。 123空格空格空格 和 123 不同的

请问是那个字段出的问题?统计列的话,都是双精度小数,不可能有空格的


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:72502 积分:363620 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/8 20:52:00 [只看该作者]

以下是引用chen37280600在2018/11/8 20:51:00的发言:

请问是那个字段出的问题?统计列的话,都是双精度小数,不可能有空格的

 

循环每一行,去除空格

 

for each r as row in tables("表a").rows
    r("第一列") = r("第一列").Trim
Next


 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:9283 积分:53353 威望:0 精华:16 注册:2008/9/1 9:45:00
  发帖心情 Post By:2018/11/9 8:48:00 [只看该作者]

交叉表全部用临时表代码写,基本都没用过.

 回到顶部