以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]表达式统计列  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=173814)

--  作者:michl
--  发布时间:2021/12/17 12:44:00
--  [求助]表达式统计列
b.Totals.AddExp("是否超2人","iif(姓名 > 2,"是","否")",AggregateEnum.Count)
内部表想加个表达式统计列,参考帮助这么写不对,请指教一下



--  作者:有点蓝
--  发布时间:2021/12/17 13:34:00
--  
b.Totals.AddExp("是否超2人","iif(姓名 > 2,\'是\',\'否\')",AggregateEnum.Count)

表达式里的字符要使用单引号

--  作者:michl
--  发布时间:2021/12/17 14:19:00
--  
提示错误原因:标准表达式中数据类型不匹配
--  作者:有点蓝
--  发布时间:2021/12/17 14:28:00
--  
是否超2人是逻辑列?

b.Totals.AddExp("是否超2人","iif(姓名 > 2,true,false)",AggregateEnum.Count)

--  作者:michl
--  发布时间:2021/12/17 15:20:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试.rar

随便输几个,麻烦测试一下
Dim b As new SQLGroupTableBuilder("统计表","表A")
b.Groups.AddDef("专业")
b.Groups.AddDef("班级")
b.Totals.AddDef("姓名",AggregateEnum.Count,"人数")
b.Totals.AddExp("是否超2人","iif(姓名 > 2,\'是\',\'否\')",AggregateEnum.Count)
b.Build
MainTable = Tables("统计表")
[此贴子已经被作者于2021/12/17 15:20:10编辑过]

--  作者:有点蓝
--  发布时间:2021/12/17 15:52:00
--  
需要这样
Dim b As new SQLGroupTableBuilder("统计表","表A")
b.Groups.AddDef("专业")
b.Groups.AddDef("班级")
b.Totals.AddDef("姓名",AggregateEnum.Count,"人数")
b.Build
MainTable = Tables("统计表")
DataTables("统计表").DataCols.Add("是否超2人",Gettype(String),4,"iif(人数 > 2,\'是\',\'否\')")

--  作者:michl
--  发布时间:2021/12/17 16:14:00
--  
ok!原来是要单独增加一个临时列啊~