以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]怎么将统计表合在一起 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=122171) |
-- 作者:紫色幽魂 -- 发布时间:2018/7/20 10:05:00 -- [求助]怎么将统计表合在一起 是后台数据统计 Dim rq As Date = e.Form.Controls("每日车间日期").Value \'首次检测量 Dim cx As New SQLGroupTableBuilder("车间班组统计","无损_检测明细") cx.C Dim dt As fxDataSource cx.Groups.AddDef("首检_检测日期",DateGroupEnum.None,"检测日期") cx.Groups.AddDef("地点","检测地点") cx.Groups.AddDef("检测方法") cx.Groups.AddDef("车间") cx.Groups.AddDef("班组") cx.Totals.AddDef("首检_检测长度","检测量") cx.Totals.AddDef("首检_返修长度","返修量") \'cx.VerticalTotal = True cx.Filter = "首检_检测日期 = \'" & rq & "\'" dt = cx.BuildDataSource() \'cx.Build \'一次复检量 Dim cx1 As New SQLGroupTableBuilder("车间班组统计","无损_检测明细") cx1.C Dim dt1 As fxDataSource cx1.Groups.AddDef("首检_检测日期",DateGroupEnum.None,"检测日期") cx1.Groups.AddDef("地点","检测地点") cx1.Groups.AddDef("检测方法") cx1.Groups.AddDef("车间") cx1.Groups.AddDef("班组") cx1.Totals.AddDef("一次复检_检测长度","检测量") cx1.Totals.AddDef("一次复检_返修长度","返修量") \'cx1.VerticalTotal = True cx1.Filter = "一次复检_检测日期 = \'" & rq & "\'" dt1 = cx1.BuildDataSource() \'cx1.Build \'二次复检量 Dim cx2 As New SQLGroupTableBuilder("车间班组统计","无损_检测明细") cx2.C Dim dt2 As fxDataSource cx2.Groups.AddDef("首检_检测日期",DateGroupEnum.None,"检测日期") cx2.Groups.AddDef("地点","检测地点") cx2.Groups.AddDef("检测方法") cx2.Groups.AddDef("车间") cx2.Groups.AddDef("班组") cx2.Totals.AddDef("二次复检_检测长度","检测量") cx2.Totals.AddDef("二次复检_返修长度","返修量") \'cx2.VerticalTotal = True cx2.Filter = "二次复检_检测日期 = \'" & rq & "\'" dt2 = cx2.BuildDataSource() \'cx2.Build Tables("无损查询表_Table1").DataSource = cx.BuildDataSource() \'绑定窗口表 [此贴子已经被作者于2018/7/20 10:07:14编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/7/20 10:09:00 -- http://www.foxtable.com/webhelp/scr/2305.htm
http://www.foxtable.com/webhelp/scr/2392.htm
|
-- 作者:紫色幽魂 -- 发布时间:2018/7/20 11:05:00 -- 回复:(有点甜)http://www.foxtable.com/webhelp/sc... 不想增加列,这几个列的名称都是一样的,我想将这几个相同名称的列的数据根据列内容相同就合在一起,进行求和 |
-- 作者:有点甜 -- 发布时间:2018/7/20 11:22:00 -- 方法一:生成之后filler到一张表里面
http://www.foxtable.com/webhelp/scr/0680.htm
方法二:为什么不直接计算就好了?把3列的长度的值直接求和,然后再统计不就好了?
Dim cx As New SQLGroupTableBuilder("车间班组统计","无损_检测明细") |
-- 作者:紫色幽魂 -- 发布时间:2018/7/20 11:30:00 -- 回复:(有点甜)方法一:生成之后filler到一张表里面... 方法二:不能直接统计在一起,因为是按照日期来筛选的,每个日期对应的数据不同,所以不能直接统计在一起 |
-- 作者:有点甜 -- 发布时间:2018/7/20 12:02:00 -- 以下是引用紫色幽魂在2018/7/20 11:30:00的发言:
方法二:不能直接统计在一起,因为是按照日期来筛选的,每个日期对应的数据不同,所以不能直接统计在一起
条件不是可以改成?
cx.Filter = "首检_检测日期 = \'" & rq & "\' or 二次复检_检测日期=\'" & rq & "\' or 一次复检_检测日期=\'" & rq & "\'" |
-- 作者:紫色幽魂 -- 发布时间:2018/7/20 12:15:00 -- 回复:(有点甜)以下是引用紫色幽魂在2018/7/20 11:3... 首检,一次复检和二次复检的筛选条件不一样,取值也是不一样的,以首检日期来算,那么取值列的名称是首检_检测长度,首检_返修长度,如果是一次复检日期作为筛选条件,取值列是一次复检_检测长度,一次复检_返修长度 我用的是数据库,数据未加载出来的,上传的这个列子是数据在内部表且全部加载了
|
-- 作者:有点甜 -- 发布时间:2018/7/20 12:40:00 -- 用sql语句做,参考,条件where自己加上,统计再做一次分组统计
select 首检_检测日期,地点,检测方法, 首检_检测长度 from {无损_检测明细} union all
http://www.foxtable.com/webhelp/scr/0695.htm
|