Foxtable(狐表)用户栏目专家坐堂 → [求助]计算结果为非数字


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

主题:[求助]计算结果为非数字

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


加好友 发短信
等级:六尾狐 帖子:1310 积分:10133 威望:0 精华:0 注册:2013/11/8 15:27:00
[求助]计算结果为非数字  发帖心情 Post By: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编辑过]

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


加好友 发短信
等级:超级版主 帖子:107718 积分:547917 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1310 积分:10133 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By: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

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

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


加好友 发短信
等级:超级版主 帖子:107718 积分:547917 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1310 积分:10133 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2019/9/21 16:57:00 [只看该作者]

显示的分别是具体的“主体 小计”和“年份 小计”

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


加好友 发短信
等级:超级版主 帖子:107718 积分:547917 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/9/21 17:18:00 [只看该作者]

r("主体").replace("小计","").trim()

 回到顶部