以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  怎么在同表中对多列数据使用聚合函数  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=84190)

--  作者:xluoping
--  发布时间:2016/4/25 17:05:00
--  怎么在同表中对多列数据使用聚合函数
我要将表中每行 以下列的数据求最大值的列数值 写在  H列;总体标准偏差 写在 I列:A列、B列、C列、D列、E列、F列、G列  

不知道怎么在时间中写代码 Datacolchanged 

--  作者:大红袍
--  发布时间: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


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

 

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


--  作者:xluoping
--  发布时间:2016/4/25 18:33:00
--  
我发现 参与计算的列(如A列)  如果是 表达式,应用代码 不能计算出结果
--  作者:大红袍
--  发布时间:2016/4/25 19:40:00
--  
以下是引用xluoping在2016/4/25 18:33:00的发言:
我发现 参与计算的列(如A列)  如果是 表达式,应用代码 不能计算出结果

 

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

 

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