以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  count表达式统计所有非空值列  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=174007)

--  作者:jimmy20219999
--  发布时间:2021/12/27 9:37:00
--  count表达式统计所有非空值列
有一个表有50列,我想单独建一个表达式列统计所有非空值列的列数,这个count表达式怎么写呢?
--  作者:有点蓝
--  发布时间:2021/12/27 9:39:00
--  
IIF(第一列 is null,1,0) + IIF(第二列 is null,1,0) + IIF(第三列 is null,1,0) + ........
--  作者:jimmy20219999
--  发布时间:2021/12/27 9:48:00
--  
如果用datacolchanged的compute("count()")代码, 怎么写呢


--  作者:有点蓝
--  发布时间:2021/12/27 9:52:00
--  
compute可以统计行数,无法统计列数

如果列名有规律,比如有统一的前缀,如:列_1、列_2、列_3、...

If e.DataCol.Name like "列_*" Then 
dim sum as integer
for each dc as datacol in e.datatable.datacols
if dc.name like "列_*" andalso e.datarow.isnull(dc.name) = false then
sum = sum + 1
end if
next
e.datarow("非空值列数") = sum
end if

--  作者:jimmy20219999
--  发布时间:2021/12/27 9:56:00
--  
谢谢