统计列中空白单元格的数量
语法
COUNTBLANK ( <列名> )
参数 | 属性 | 描述 |
列名 | 包含待计数空格的列 |
返回值
标量
一个整数值,如果找不到满足条件的行,则返回空白。
备注
COUNTBLANK 可使用包含任何数据类型的列,只统计其中的空值和空单元格,不对值为零 (0) 的单元格计数,因为零是数值,不是空值。但任何空字符串都将被视为空,并参与统计,即使用 ISBLANK 检测会返回 FALSE。
COUNTBLANK从不返回 0。如果没有行或者没有空白,它总是返回空值。
示例
尽管 COUNTBLANK 在语义上与下面的表达式等价,但它可能比基于 CALCULATE 的相应语法要慢。
-- COUNTBLANK 示例 COUNTBLANK ( 'Table'[Column] ) -- 具有相同语义的表达式 (用于非字符串格式的列可能更快): CALCULATE ( COUNTROWS ( 'Table' ), KEEPFILTERS ( ISBLANK ( 'Table'[Column] ) ) ) -- 具有相同语义的表达式 (用于字符串格式的列可能更快): CALCULATE ( COUNTROWS ( 'Table' ), KEEPFILTERS ( 'Table'[Value] = "" ) )
- MSDN 文档:COUNTBLANK
- DAX Guide:COUNTBLANK
COUNTBLANK 可使用包含任何数据类型的列,只统计其中的空值和空单元格,不对值为零 (0) 的单元格计数,因为零是数值,不是空值。但任何空字符串都将被视为空,并参与统计,即使用 ISBLANK 检测会返回 FALSE。
根据语义:这个地方是不是应该为:即使用 ISBLANK 检测会返回 TRUE ?
COUNTBLANK从不返回 0。如果没有行或者没有空白,它总是返回空值。——这个翻译在微软官方文档有区别:
微软的:
如果没有要聚合的行,函数将返回空白。 但是,如果存在行,但没有一行符合指定的条件,函数则会返回 0。 如果找不到满足条件的行,Microsoft Excel 也会返回零。
换言之,如果 COUNTBLANK 函数未找到任何空白,则结果将为零,但如果没有要检查的行,则结果将为空白。