以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 统计分析的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=91102) |
||||
-- 作者:douglas738888 -- 发布时间:2016/9/29 14:31:00 -- 统计分析的问题 请教老师,我的统计表因为列比较多,不适合用SQLCrossTableBuilder进行占比分析,用SQLGroupTableBuilder来分析,系统的合计行又不会显示总占比的百分比,想在合计行下增加一行,名称为“失误比例”进行总占比分析,怎样实现
下面是部分例子代码,请老师看看
Dim b As New SQLGroupTableBuilder("统计表00001","投标评价") b.Totals.AddExp("前期准备_任务时间_较紧","前期准备_任务时间_较紧*-1","任务时间_较紧",AggregateEnum.Sum) b.Filter = "投标日期 >= #" & e.Form.Controls("DateTimePicker1").Value & "# And 投标日期 <= #" & e.Form.Controls("DateTimePicker2").Value & "# and 投标结果 Like \'%项目未中标%\'"
DataTables("投标评价_Table1").DataCols.Add("失误点数",Gettype(Double), "前期准备_任务时间_较紧 + 前期准备_任务时间_正常")
[此贴子已经被作者于2016/9/29 14:32:45编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2016/9/29 14:49:00 -- 上传例子测试 |
||||
-- 作者:douglas738888 -- 发布时间:2016/9/29 14:54:00 -- 窗口是 投标评价 ,请老师看看,哪种分析更适合,主要想实现,垂直合计和水平合计,同时在垂直合计里面显示总占比百分比
|
||||
-- 作者:有点蓝 -- 发布时间:2016/9/29 16:04:00 -- 截图说明一下具体要什么样的效果 Dim b As New SQLGroupTableBuilder("统计表00001","投标评价") b.Totals.AddExp("前期准备_任务时间_较紧","前期准备_任务时间_较紧*-1","任务时间_较紧",AggregateEnum.Sum) b.Filter = "投标日期 >= #" & e.Form.Controls("DateTimePicker1").Value & "# And 投标日期 <= #" & e.Form.Controls("DateTimePicker2").Value & "# and 投标结果 Like \'%项目未中标%\'" b.GrandProportion = True
DataTables("投标评价_Table1").DataCols.Add("失误点数",Gettype(Double), "前期准备_任务时间_较紧 + 前期准备_任务时间_正常") |
||||
-- 作者:douglas738888 -- 发布时间:2016/9/29 16:57:00 -- 请教老师,如果用SQLCROSS,好像不能实现这样的统计分析,用SQLGROUP也有些属性不能满足,请老师指导指导 ,谢谢!
下图,在不增加行的情况下,好像合计不能如此分析数据,如果增加行能处理数据是最好的。
此主题相关图片如下:未标题-1.jpg [此贴子已经被作者于2016/9/29 16:58:17编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2016/9/29 17:29:00 -- 下面代码自己改改放到窗口 Dim b As New SQLGroupTableBuilder("统计表00001","投标评价") b.C b.Groups.AddDef("项目属地") b.Groups.AddDef("投标结果") b.Totals.AddExp("前期准备_任务时间_较紧","前期准备_任务时间_较紧*-1","任务时间_较紧",AggregateEnum.Sum) b.Totals.AddExp("前期准备_任务时间_正常","前期准备_任务时间_正常*-1","任务时间_正常",AggregateEnum.Sum) b.Totals.AddExp("前期准备_任务时间_充裕","前期准备_任务时间_充裕*-1","任务时间_充裕",AggregateEnum.Sum) b.Totals.AddExp("前期准备_现场踏勘_一般","前期准备_现场踏勘_一般*-1","现场踏勘_一般",AggregateEnum.Sum) \'b.Filter = "投标日期 >= #" & e.Form.Controls("DateTimePicker1").Value & "# And 投标日期 <= #" & e.Form.Controls("DateTimePicker2").Value & "# and 投标结果 Like \'%项目未中标%\'" b.VerticalTotal = True b.GrandProportion = True b.Build DataTables("统计表00001").DataCols.Add("失误点数",Gettype(Double), "前期准备_任务时间_较紧 + 前期准备_任务时间_正常") Dim dr As Row For i As Integer = 0 To Tables("统计表00001").Rows.Count(True) - 1 dr = Tables("统计表00001").Rows(i,True) dr("前期准备_任务时间_较紧gdr") = Format(dr("前期准备_任务时间_较紧") / dr("失误点数"),"0.00") dr("前期准备_任务时间_正常gdr") = Format(dr("前期准备_任务时间_正常") / dr("失误点数"),"0.00") dr("前期准备_任务时间_充裕gdr") = Format(dr("前期准备_任务时间_充裕") / dr("失误点数"),"0.00") Next |