Foxtable(狐表)用户栏目专家坐堂 → 求助如何编写聚合函数中的最小,最大,平均值


  共有3148人关注过本帖树形打印复制链接

主题:求助如何编写聚合函数中的最小,最大,平均值

帅哥哟,离线,有人找我吗?
大红袍
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/4 15:11:00 [显示全部帖子]


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/4 17:40:00 [显示全部帖子]

Select Case e.DataCol.Name
    Case "首件1_线宽","首件2_线宽","尾件1_线宽","尾件2_线宽","重件1_线宽","重件2_线宽"
        Dim arr(5) As Decimal
        arr(0) = val(e.DataRow("首件1_线宽"))
        arr(1) = val(e.DataRow("首件2_线宽"))
        arr(2) = val(e.DataRow("尾件1_线宽"))
        arr(3) = val(e.DataRow("尾件2_线宽"))
        arr(4) = val(e.DataRow("重件1_线宽"))
        arr(5) = val(e.DataRow("重件2_线宽"))
        Array.Sort(arr)
        e.DataRow("线路宽度Min") = arr(0)
        e.DataRow("线路宽度Max") = arr(5)
        Dim sum As Decimal
        For Each d As Decimal In arr
            sum += d
        Next
        Dim avg As Decimal = sum/arr.length
        e.DataRow("线路宽度AVG值") = avg
        sum = 0
        For Each d As Decimal In arr
            sum += Math.Pow(d-avg,2)
        Next
        e.DataRow("线路宽度标准差") = Math.Pow(sum/arr.length,0.5)

End Select


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/5 14:23:00 [显示全部帖子]

Dim r As Row = Tables("表A").Current
Dim arr(5) As Decimal
arr(0) = val(r("首件1_线宽"))
arr(1) = val(r("首件2_线宽"))
arr(2) = val(r("尾件1_线宽"))
arr(3) = val(r("尾件2_线宽"))
arr(4) = val(r("重件1_线宽"))
arr(5) = val(r("重件2_线宽"))
Array.Sort(arr)
r("线路宽度Min") = arr(0)
r("线路宽度Max") = arr(5)
Dim sum As Decimal
For Each d As Decimal In arr
    sum += d
Next
Dim avg As Decimal = sum/arr.length
r("线路宽度AVG值") = avg
sum = 0
For Each d As Decimal In arr
    sum += Math.Pow(d-avg,2)
Next
r("线路宽度标准差") = Math.Pow(sum/arr.length,0.5)


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/5 18:06:00 [显示全部帖子]

 请说明 R值 的运算规则。

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/7 13:14:00 [显示全部帖子]

直接写

 

e.DataRow("列名") = arr(5) - arr(0)


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/8 9:32:00 [显示全部帖子]

写在最后

 

e.DataRow("R值") = arr(5) - arr(0)


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/8 14:21:00 [显示全部帖子]

 

r1("R值") = arr(5) - arr(0)


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/8 14:26:00 [显示全部帖子]

Dim r1 As Row = Tables("线路工序").Current
Dim arr(5) As Decimal
arr(0) = val(r1("首件1_线宽"))
arr(1) = val(r1("首件2_线宽"))
arr(2) = val(r1("尾件1_线宽"))
arr(3) = val(r1("尾件2_线宽"))
arr(4) = val(r1("重件1_线宽"))
arr(5) = val(r1("重件2_线宽"))
Array.Sort(arr)
r1("线路宽度Min") = arr(0)
r1("线路宽度Max") = arr(5)
Dim sum As Decimal
For Each d As Decimal In arr
    sum += d
Next
Dim avg As Decimal = sum/arr.length
r1("线路宽度AVG值") = avg
sum = 0
For Each d As Decimal In arr
    sum += Math.Pow(d-avg,2)
Next
r1("线路宽度标准差") = Math.Pow(sum/arr.length,0.5)
r1("R值") = arr(5) - arr(0)

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/8 15:39:00 [显示全部帖子]

以下是引用butler9912在2016/8/8 15:26:00的发言:

 你好,后续的聚合函数计算代码都可以直接添加中吗?

 

指什么?


 回到顶部