Foxtable(狐表)用户栏目专家坐堂 → 怎么在同表中对多列数据使用聚合函数


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

主题:怎么在同表中对多列数据使用聚合函数

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


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

DataColChanged事件

 

Dim cs() As String = {"A列", "B列", "C列", "D列", "E列", "F列", "G列"}
If array.indexof(cs, e.DataCol.name) >= 0 Then
    Dim max As Double = -999
    Dim x As Double = 0
    For Each c As String In cs
        If e.DataRow(c) > max Then
            max = e.DataRow(c)
        End If
        x += e.DataRow(c)
    Next
   
   
    '求平方差
    Dim s2 As Double = 0
    For Each c As String In cs
        s2 = s2 + (e.DataRow(c) - x) ^ 2 / cs.length
    Next
    Dim s As Double = math.Sqrt(s2)
    e.DataRow("H") = max
    e.DataRow("I") = s
End If


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


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

以下是引用xluoping在2016/4/25 17:57:00的发言:
非常感谢,应用中,另外请问一下,这些是否可以在  通过 表达式 列实现?如果可以,又如何写表达式?

 

不行,表达式不能做较复杂的运算,特别是多列参与的更不行。


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


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

以下是引用xluoping在2016/4/25 18:33:00的发言:
我发现 参与计算的列(如A列)  如果是 表达式,应用代码 不能计算出结果

 

是的,不能是表达式列,表达式列不能触发datacolchanged事件

 

http://www.foxtable.com/help/topics/2381.htm

 


 回到顶部