以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 统计不重复值求助 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=84217) |
||||
-- 作者:刘异 -- 发布时间:2016/4/26 9:31:00 -- 统计不重复值求助
Select Case e.DataCol.Name 老师好:我想要统计相同日期,相同操作员只统计不重复值; 如上图:我想要的是操作员,张三+李四不重复的;1.2+1=2.2;而不是全部统计,这应该怎么做??先谢了!! |
||||
-- 作者:大红袍 -- 发布时间:2016/4/26 9:47:00 -- Dim sum As Double = 0 For Each ary() As String In DataTables("生产日报").SQLGetValues("操作员|岗位系数", "[部门名称] = \'" & e.DataRow("部门名称") & "\' and [生产日期] = #" & e.DataRow("生产日期") & "# ") sum += val(ary(1)) Next e.DataRow("岗位系数合计") = sum [此贴子已经被作者于2016/4/26 9:46:51编辑过]
|
||||
-- 作者:刘异 -- 发布时间:2016/4/26 10:06:00 -- 好了,多谢!! |
||||
-- 作者:刘异 -- 发布时间:2016/4/26 11:31:00 -- 老师好: 下面代码只能统计本年本月,不重复操作员的数据,能不能再加上一个条件, 统计本年本月,不重复的(日期+操作员)也就是在相同的日期,相同的操作员情况下,只能统计一次。 举例: 2016年4月25日 张三 生产A产品 共出勤12H 2016年4月25日 张三 生产B产品 共出勤12H 那么出勤只需统计一次,12H 我不知道我有没有说明白,需不需要发个图片上来。
Dim sum As Double = 0 |
||||
-- 作者:大红袍 -- 发布时间:2016/4/26 11:33:00 -- Dim sum As Double = 0 For Each ary() As String In DataTables("厚边印刷实绩日报").SQLGetValues("日期|操作员|出勤系数", "[部门名称] = \'" & e.DataRow("部门名称") & "\' and [年份] = \'" & e.DataRow("年份") & "\' And [月份] = \'" & e.DataRow("月份") & "\'") sum += val(ary(2)) Next e.DataRow("出勤系数合计") = sum |
||||
-- 作者:刘异 -- 发布时间:2016/4/26 11:40:00 --
|
||||
-- 作者:刘异 -- 发布时间:2016/4/26 11:42:00 -- 上面写错了,是:2.3+1.53+1.0+2.76+2.3 |
||||
-- 作者:大红袍 -- 发布时间:2016/4/26 11:45:00 -- 目测代码没有问题,上传实例测试。 |
||||
-- 作者:刘异 -- 发布时间:2016/4/26 13:42:00 --
|
||||
-- 作者:大红袍 -- 发布时间:2016/4/26 14:24:00 -- 下面的代码没问题,你的数据【2016-03-17 匡志新】没有填写部门名称自然不计算啊。要不你就不要根据部门名称计算,红色代码去掉
Select Case e.DataCol.name |