Foxtable(狐表)用户栏目专家坐堂 → [求助]有两列分组的表如何求他们的标准差


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

主题:[求助]有两列分组的表如何求他们的标准差

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/7 23:22:00 [显示全部帖子]

无法直接统计,需要生成后,循环每一行,然后查询计算的。

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=92787&skin=0

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/8 9:12:00 [显示全部帖子]

代码这样写

 

Dim g As New GroupTableBuilder("单项指标统计表", DataTables("评价结果"))
g.Groups.AddDef("性别")
g.Groups.AddDef("年级编号")
g.Totals.AddDef("年级编号", AggregateEnum.Count, "人数")
g.Totals.AddDef("身高", AggregateEnum.Average, "身高平均数")
g.Totals.AddDef("身高", AggregateEnum.std, "身高标准差")
g.Totals.AddDef("身高", "身高累计值")
g.Decimals = 2
g.Build()
Dim t As Table = Tables("单项指标统计表")
For Each r As Row In t.Rows
    If r("性别") = "1" Then
        r("性别") = "男"
    Else
        r("性别") = "女"
    End If
    r("身高标准差") = DataTables("评价结果").Compute("StDev(身高)", "年级编号 = '" & r("年级编号") & "'")
Next
MainTable = t


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/8 11:13:00 [显示全部帖子]

Dim g As New GroupTableBuilder("单项指标统计表", DataTables("评价结果"))
g.Groups.AddDef("性别")
g.Groups.AddDef("年级编号")
g.Totals.AddDef("年级编号", AggregateEnum.Count, "人数")
g.Totals.AddDef("身高", AggregateEnum.Average, "身高平均数")
g.Totals.AddDef("身高", AggregateEnum.std, "身高标准差")
g.Totals.AddDef("身高", "身高累计值")
g.Decimals = 2
g.Build()
Dim t As Table = Tables("单项指标统计表")
For Each r As Row In t.Rows
    r("身高标准差") = DataTables("评价结果").Compute("StDev(身高)", "年级编号 = '" & r("年级编号") & "' and 性别 = '" & r("性别") & "'")

    If r("性别") = "1" Then
        r("性别") = "男"
    Else
        r("性别") = "女"
    End If
Next
MainTable = t


 回到顶部