Foxtable(狐表)用户栏目专家坐堂 → [求助]交叉统计后,手工增加列无法求值(如果有空值被求和,直接为空,求不出)


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

主题:[求助]交叉统计后,手工增加列无法求值(如果有空值被求和,直接为空,求不出)

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


加好友 发短信
等级:一尾狐 帖子:483 积分:4527 威望:0 精华:0 注册:2014/3/4 21:20:00
[求助]交叉统计后,手工增加列无法求值(如果有空值被求和,直接为空,求不出)  发帖心情 Post By:2020/9/24 14:31:00 [显示全部帖子]

如题: x1,x2,y1,y2 如果有一个空值,那么分母出来的值就是空值. 如何解决.
代码如下:

Dim x1 As String
Dim x2 As String
Dim x7 As String
Dim y1 As String
Dim y2 As String

Dim r1 As DataRow
For Each dc As DataCol In tab.DataTable.DataCols
    If dc.Caption.Contains("磷酸") AndAlso dc.Caption.Contains("广东")  Then
        x1 = dc.Name
    ElseIf dc.Caption.Contains("硫酸") AndAlso dc.Caption.Contains("广东")  Then
        x2 = dc.Name

    ElseIf dc.Caption.Contains("磷酸") AndAlso dc.Caption.Contains("上海")  Then
        y1 = dc.Name
    ElseIf dc.Caption.Contains("硫酸") AndAlso dc.Caption.Contains("上海")  Then
        y2 = dc.Name

    ElseIf dc.Caption.Contains("铝材") Then
        x7 = dc.Name
    End If   
Next
'上面是交叉统计后得到的表,下面是手工增加的列.
tab.DataTable.DataCols.Add("工厂_铝比磷硫",Gettype(Double),"" & x7 & "/(" & x1 & "+" & x2 & "+" & y1 & "+" & y2 & ")")


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


加好友 发短信
等级:一尾狐 帖子:483 积分:4527 威望:0 精华:0 注册:2014/3/4 21:20:00
  发帖心情 Post By:2020/9/24 14:50:00 [显示全部帖子]

新增加的字段,计算公式里是字符形式的,试了,无法做判断
[此贴子已经被作者于2020/9/24 14:50:13编辑过]

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


加好友 发短信
等级:一尾狐 帖子:483 积分:4527 威望:0 精华:0 注册:2014/3/4 21:20:00
  发帖心情 Post By:2020/9/24 14:59:00 [显示全部帖子]

搞定, 楼上的方法可行,多谢.

 回到顶部