以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 求助:在统计中增加条件 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=132664) |
-- 作者:cxmxjwlmq -- 发布时间:2019/3/27 0:48:00 -- 求助:在统计中增加条件 各位老师:我想在统计时,在统计列时增加一个条件,但代码怎么也写不上,
Dim a1 As New SQLCrossTableBuilder("统计表1","制造质量管理") a1.Totals.AddDef("判定",AggregateEnum.Count) \' 对判定列中的合格进行计数,这里能加一个条件吗?
我想要的效果是:当直行辅助列包涵检时,日期在变量间,对状态列中“报工”进行计数,对判定列中的合格进行计数!
请老师费心,谢谢指教! |
-- 作者:y2287958 -- 发布时间:2019/3/27 8:21:00 -- a1.Totals.AddExp("状态","iif(状态=\'报工\',1,0)") |
-- 作者:cxmxjwlmq -- 发布时间:2019/3/27 11:15:00 -- 谢谢,我用的是SQL Server数据源,二楼指导用不上.
Dim a1 As New SQLCrossTableBuilder("统计表1","制造质量管理") Dim ta1 As DataTable a1.C a1.Filter = "直行辅助 Like \'%检\' And 日期>=\'" & e.form.controls("DateTimePicker6").Value & "\' And 日期<=\'" & e.form.controls("DateTimePicker1").Value & "\'" a1.HGroups.AddDef("直行辅助") \'添加客户列用于水平分组 a1.VGroups.AddDef("日期","{0}月") \'添加日期列用于垂直分组,按月分组 a1.Totals.AddDef("状态",AggregateEnum.Count) \' 对状态列中的报工进行计数,这里能加一个条件吗? a1.Totals.AddDef("判定",AggregateEnum.Count) \' 对判定列中的合格进行计数,这里能加一个条件吗? a1.HorizontalTotal = True ta1 = a1.Build() \'生成一个DataTable
我在帮助里找到这组代码修改如下: Dim b As New SQLGroupTableBuilder("统计表1","制造质量管理") b.C b.Groups.Adddef("直行辅助") b.Totals.Addexp("状态", "Case When 直行辅助 = 总检 Then 状态 = 报工 Else 0 End") b.Totals.Addexp("判定", "Case When 直行辅助 = 总检 Then 判定 = 合格 Else 0 End") b.Build() MainTable = Tables("统计表1")
但运行时提示如图:
请各位老师费心给指导一下!谢谢 ![]() ![]() |
-- 作者:有点甜 -- 发布时间:2019/3/27 11:17:00 -- 改成比如
a1.Totals.AddExp("状态","case when 状态=\'报工\' then 1 Else 0 End") |
-- 作者:cxmxjwlmq -- 发布时间:2019/3/27 11:49:00 -- 谢谢老师指教! |
-- 作者:cxmxjwlmq -- 发布时间:2019/3/27 13:07:00 -- 各位老师:我想在每个数据后面增加一列,得出每个月的合格率,但第三句代码不对,提示 a1.Totals.AddExp("状态","case when 状态=\'报工\' or 状态=\'入库\'then 1 Else 0 End") a1.Totals.AddExp("合格率","判定/状态") 我想是:增加合格率列,算法是判定/状态,但提示如下图
请老师给看看! 谢谢! ![]() ![]() |
-- 作者:有点甜 -- 发布时间:2019/3/27 13:09:00 -- 生成统计表格以后,再动态添加表达式列
http://www.foxtable.com/webhelp/scr/1428.htm
|
-- 作者:cxmxjwlmq -- 发布时间:2019/3/27 15:54:00 -- 谢谢甜老师指教! |