以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]计算结果为非数字  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=141122)

--  作者:lgj716330
--  发布时间:2019/9/21 14:43:00
--  [求助]计算结果为非数字
Dim dt As DataTable = DataTables("统计表")
Dim r As Row
For i As Integer = 0 To Tables("统计表").Rows.Count(True) - 1
    r = Tables("统计表").Rows(i,True)
    If r.IsGroup Then
        r("增率") = DataTables("统计表").Compute("sum([增值])","[主体] = \'" & r("主体") & "\'")/DataTables("统计表").Compute("sum([销售额])","[主体] = \'" & r("主体") & "\'")
    End If
Next

以上结果显示为“非数字”
[此贴子已经被作者于2019/9/21 14:43:14编辑过]

--  作者:有点蓝
--  发布时间:2019/9/21 14:58:00
--  
出现了除以0的操作
Dim dt As DataTable = DataTables("统计表")
Dim r As Row
For i As Integer = 0 To Tables("统计表").Rows.Count(True) - 1
    r = Tables("统计表").Rows(i,True)
    If r.IsGroup Then
dim s2 as double = DataTables("统计表").Compute("sum([销售额])","[主体] = \'" & r("主体") & "\'")
if s2 <> 0
        r("增率") = DataTables("统计表").Compute("sum([增值])","[主体] = \'" & r("主体") & "\'")/s2
end if
    End If
Next

--  作者:lgj716330
--  发布时间:2019/9/21 16:21:00
--  
在数据表的AfterLoad里

Dim t As Table = Tables("统计表")
Dim g As Subtotalgroup
t.SubtotalGroups.Clear()
t.GroupAboveData = False
t.TreeVisible = False
t.SpillNode = True

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "主体"
g.TotalOn = "销售额,增值"
g.Caption = "{0} 小计"
t.SubtotalGroups.Add(g)

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "年份"
g.TotalOn = "销售额,增值"
g.Caption = "{0} 小计"
t.SubtotalGroups.Add(g)
t.Subtotal()

Dim dt As DataTable = DataTables("统计表")
Dim r As Row
For i As Integer = 0 To Tables("统计表").Rows.Count(True) - 1
    r = Tables("统计表").Rows(i,True)
    If r.IsGroup Then
dim s2 as double = DataTables("统计表").Compute("sum([销售额])","[主体] = \'" & r("主体") & "\'")
if s2 <> 0
        r("增率") = DataTables("统计表").Compute("sum([增值])","[主体] = \'" & r("主体") & "\'")/s2
end if
    End If
Next

计算结果是空的,没有计算出来,是不是我条件有问题

--  作者:有点蓝
--  发布时间:2019/9/21 16:47:00
--  
Dim dt As DataTable = DataTables("统计表")
Dim r As Row
For i As Integer = 0 To Tables("统计表").Rows.Count(True) - 1
    r = Tables("统计表").Rows(i,True)
    If r.IsGroup Then
msgbox(r("主体")) \'这里显示什么?

--  作者:lgj716330
--  发布时间:2019/9/21 16:57:00
--  
显示的分别是具体的“主体 小计”和“年份 小计”
--  作者:有点蓝
--  发布时间:2019/9/21 17:18:00
--  
r("主体").replace("小计","").trim()