以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]统计问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=192223) |
||||
-- 作者:2900819580 -- 发布时间:2024/6/4 0:18:00 -- [求助]统计问题 此主题相关图片如下:无标题_20240604.png 老师,像上面照片的数据,要如何做成照片下面的统计表,代码应该 怎么改。 Dim tbCj As Table = Tables(e.Form.Name & "_TabProjectSchedule_Cj") Dim b As New CrossTableBuilder("Cj1", dt) b.HGroups.AddDef("负责人") \'添加客户列用于水平分组 b.HGroups.AddDef("年周") \'添加客户列用于水平分组 b.VGroups.AddDef("异常分类", "异常分类_{0}") \'添加产品列用于垂直分组 b.VGroups.AddDef("达成") \'添加产品列用于垂直分组 b.Totals.AddDef("sl") \'添加数量列用于统计 tbcj.DataSource = b.BuildDataSource |
||||
-- 作者:有点蓝 -- 发布时间:2024/6/4 8:28:00 -- 达成率要使用表达式处理,参考:http://www.foxtable.com/webhelp/topics/3227.htm |
||||
-- 作者:2900819580 -- 发布时间:2024/6/4 8:44:00 -- 未达成和达成呢?应该怎么做。 |
||||
-- 作者:有点蓝 -- 发布时间:2024/6/4 9:35:00 -- 帮助里有这种用法的 b.Totals.Addexp("未达成", "iif(达成=false, 1, 0)") b.Totals.Addexp("达成", "iif(达成=true, 1, 0)")
|
||||
-- 作者:2900819580 -- 发布时间:2024/6/4 11:32:00 -- 此主题相关图片如下:无标题_202406041.png 老师,还是不行, Dim tbCj As Table = Tables(e.Form.Name & "_TabProjectSchedule_Cj") Dim b As New CrossTableBuilder("Cj1", dt) b.HGroups.AddDef("负责人") \'添加客户列用于水平分组 b.HGroups.AddDef("年周") \'添加客户列用于水平分组 b.VGroups.AddDef("异常分类", "异常分类_{0}") \'添加产品列用于垂直分组 b.VGroups.AddDef("达成") \'添加产品列用于垂直分组 b.Totals.AddDef("sl") \'添加数量列用于统计 b.Totals.Addexp("未达成", "iif(达成=false, 1, 0)") b.Totals.Addexp("达成", "iif(达成=true, 1, 0)") tbcj.DataSource = b.BuildDataSource |
||||
-- 作者:有点蓝 -- 发布时间:2024/6/4 12:14:00 -- 请上传实例测试 |
||||
-- 作者:2900819580 -- 发布时间:2024/6/4 13:35:00 --
[此贴子已经被作者于2024/6/4 13:36:23编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2024/6/4 14:08:00 --
|
||||
-- 作者:2900819580 -- 发布时间:2024/6/4 21:02:00 -- 老师,用内部表是可以了,但用在我自己的实例中就不可以,会不会是因为我的数据是加载进来的呀。 全部代码如下: Dim tb As Table = Tables(e.Form.Name & "_TabProjectSchedule_Mx") Dim dt As DataTable = tb.DataTable Dim cmd As New SQLCommand cmd.C cmd.Comm andText = "se lect 负责人,PlWeek as 年周,异常分类,ReYq as 达成 from {ProjectSchedule_View} " \'类型 = \'库存\'" tb.DataSource = cmd.ExecuteReader dt.DataCols.Add("sl", GetType(Integer)) dt.ReplaceFor("sl", 1) Dim tbCj As Table = Tables(e.Form.Name & "_TabProjectSchedule_Cj") Dim b As New CrossTableBuilder("Cj1", dt) b.HGroups.AddDef("负责人") \'添加客户列用于水平分组 b.HGroups.AddDef("年周") \'添加客户列用于水平分组 b.VGroups.AddDef("异常分类", "异常分类_{0}") \'添加产品列用于垂直分组 b.VGroups.AddExp("达成", "iif(达成 = true,\'达成\',\'未达成\')") \'添加产品列用于垂直分组 b.Totals.AddDef("sl") \'添加数量列用于统计 b.VerticalTotal = True tbcj.DataSource = b.BuildDataSource |
||||
-- 作者:2900819580 -- 发布时间:2024/6/4 21:08:00 -- 此主题相关图片如下:无标题_20240604.1.png 老师,还有另一个问题,我想要的是不管有没有未达成(或达成)的,都要有未达成(或达成)的相关列。
|