从数据到信息
从信息到洞察

信息函数

了解信息函数

信息函数可以用来分析表达式的类型,所有这些函数都以 IS- 开头,返回一个 TRUE/FALSE 值,可以在任何逻辑表达式中使用。

ISBLANK

ISBLANK ( <Value> )

检查值是否为空,并返回 TRUE 或 FALSE

ISERROR

ISERROR ( <Value> )

检查值是否为错误,并返回 TRUE 或 FALSE

ISLOGICAL

ISLOGICAL ( <Value> )

检查值是否是逻辑值(TRUE 或 FALSE),并返回 TRUE 或 FALSE

ISNONTEXT

ISNONTEXT ( <Value> )

检查值是否为非文本(空白单元格不是文本),并返回 TRUE 或 FALSE

ISNUMBER

ISNUMBER ( <Value> )

检查值是否为数字,并返回 TRUE 或 FALSE

ISTEXT

ISTEXT ( <Value> )

检查值是否为文本,并返回 TRUE 或 FALSE

当使用列 (而不是表达式) 作为参数时, 函数 ISNUMBER、ISTEXT 和 ISNONTEXT 始终返回 TRUE 或 FALSE, 具体结果取决于列的数据类型和每个单元格的空值类型。

ISEMPTY

ISEMPTY(<table_expression>)

检查表或表表达式是否为空。

使用 COUNTROWS 统计表的行数也可以检查表是否为空,但这种做法的弊端在于当表不为空时,公式还计算出了它的行数,对于只需要判断是否为空的情况,这种做法产生了额外开销。而 ISEMPTY 的写法更简单、更直观且性能更好。
ISEMPTY (
    CALCULATETABLE (
        'Internet Sales',
        'Product Category'[Product Category Name]
    )
)

检测表是否为空的三种表达式(按使用优先级排序):

  1. ISEMPTY ( <table expression> )
  2. ISBLANK ( COUNTROWS ( <table expression> ) )
  3. COUNTROWS ( <table expression> ) = 0

注:Excel 2013 不支持 ISEMPTY 函数

信息函数实例

你可能想知道是否可以将 ISNUMBER 与文本列一起使用,以检查是否可以将其转换为数字。不幸的是,你不能使用这种方法;如果要测试文本值是否可转换为数字,必须尝试转换并在失败时处理错误。例如,要测试文本类型的价格列是否包含有效数字,公式必须写成:

IsPriceCorrect = NOT ( ISERROR ( Sales[Price] + 0 ) )

公式向价格中添加零,以强制从文本值转换为数字;如果成功, 则它将返回 TRUE (因为 ISERROR 将返回 FALSE), 否则它将返回 FALSE (因为 ISERROR 返回 TRUE),转换将失败。例如, 如果价格列的某些行使用了 “N/A” 字符串。

但是, 如果你尝试使用 ISNUMBER, 例如下面的表达式, 将始终返回 FALSE:

IsPriceCorrect = ISNUMBER ( Sales[Price] )

在这种情况下,ISNUMBER 总是返回 FALSE,因为根据元数据,价格列不是数字,而是字符串类型,不管每一行的内容如何。

说点什么

avatar
1000
 
鼓掌微笑开心憧憬爱你色并不觉得吃瓜doge二哈喵喵思考笑哭捂脸悲伤大哭抓狂汗偷笑打脸捂眼黑线问号晕拜拜闭嘴衰咒骂ok作揖
  订阅本文评论  
提醒
DAX 圣经

导读

初识 DAX

DAX 基础知识

DAX 原理

DAX 高级原理

基础函数类型

迭代函数

CALCULATE 函数

CALCULATE 调节器

基础表函数

条件判断函数

查找匹配函数

时间智能函数

统计类函数

投影函数

分组/连接函数

集合函数

其他函数