以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]交叉统计后,手工增加列无法求值(如果有空值被求和,直接为空,求不出) (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=154710) |
-- 作者:绿火柴 -- 发布时间: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 & ")") |
-- 作者:y2287958 -- 发布时间:2020/9/24 14:43:00 -- 判断一下是否为空值 例如:"isnull(" & x1 & ",0)"
[此贴子已经被作者于2020/9/24 14:51:38编辑过]
|
-- 作者:绿火柴 -- 发布时间:2020/9/24 14:50:00 -- 新增加的字段,计算公式里是字符形式的,试了,无法做判断 [此贴子已经被作者于2020/9/24 14:50:13编辑过]
|
-- 作者:y2287958 -- 发布时间:2020/9/24 14:52:00 -- 例如:"isnull(" & x1 & ",0)" |
-- 作者:绿火柴 -- 发布时间:2020/9/24 14:59:00 -- 搞定, 楼上的方法可行,多谢. |