Foxtable(狐表)用户栏目专家坐堂 → 关于SQLCrossTableBuilder表达式列的写法


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

主题:关于SQLCrossTableBuilder表达式列的写法

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


加好友 发短信
等级:超级版主 帖子:110648 积分:563148 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/21 20:14:00 [显示全部帖子]

(产品数量 * 产品销售价)/产品数量= 产品销售价,这个是小学数学

表结构是怎么样的?数据是怎么样的?想得到什么结果?



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


加好友 发短信
等级:超级版主 帖子:110648 积分:563148 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/21 22:11:00 [显示全部帖子]

意思是要计算平均价格是吧,那就只能这样用了

去掉b.Totals.AddExp("金额","产品数量 * 产品销售价")

然后统计完成后添加表达式列,,类似

For i As Integer = Tables("统计表").cols.count - 1 To 2 Step -2
    Dim str() As String = Tables("统计表").cols(i).Caption.Split("_")
    DataTables("统计表").DataCols.Add(str(0) & "_价格",Gettype(Double), "iif(" & Tables("统计表").cols(i-1).Name & " is null,null," & Tables("统计表").cols(i).Name & "/" & Tables("统计表").cols(i-1).Name & ")")
    Tables("统计表").cols(Tables("统计表").cols.count - 1).Move(i)
Next

如果搞不定就上传实例

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


加好友 发短信
等级:超级版主 帖子:110648 积分:563148 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/22 21:51:00 [显示全部帖子]

不是不能增加。而死不合适。需要是的先汇总再求平均价。如果直接SQLCrossTableBuilder里增加表达式列,那就是先求值再汇总,结果还是产品销售价,没有意义。

 回到顶部