信息函数查找作为参数提供的单元格或行,并且指示值是否与预期的类型匹配。 例如,如果您引用的值包含错误,则 ISERROR 函数将返回 TRUE。
以下将详细叙述几种常用的信息函数。
在我们进行除法计算的时候,经常会遇到分母为空的情况,比如计算销量同比时,去年同期的销量可能为空,如果不对公式进行处理,会出现无穷大的结果。为解决此情况,最常用的函数是divide函数,同比=divide(今年销量-去年同期销量,去年同期销量),此函数将避免分母为空的情况。
示例:计算每种武器的销量同比。
divide = DIVIDE('信息函数'[销量]-'信息函数'[去年同期销量], '信息函数'[去年同期销量])
计算结果:
除了divide函数,我们还可以使用两个信息函数达到相同的效果,分别是ISBLANK(<value>)和ISERROR(<value>),范例将在下述示例中给出。
1.ISBLANK(<value>)
函数作用:判断某个值是否为空白,是空白返回 TRUE ,反之返回 FALSE。
示例:
新建列:
isblank = IF(ISBLANK('信息函数'[去年同期销量]),BLANK(),('信息函数'[销量]-'信息函数'[去年同期销量])/'信息函数'[去年同期销量] )
计算结果:
2.ISERROR(<value>)
函数作用:检查某个值是否为错误,正确返回 TRUE, 错误返回 FALSE。
示例:在本例中,如果分母为空就视为错误。
新建度量值:
iserror = IF(ISERROR(('信息函数'[销量]-'信息函数'[去年同期销量])/'信息函数'[去年同期销量]),BLANK(), ('信息函数'[销量]-'信息函数'[去年同期销量])/'信息函数'[去年同期销量])
除此之外,IS开头的函数还有ISLOGICAL、ISNONTEXT、ISTEXT、ISNUMBER,用法都较为简单,在此只简单描述,不详细分析。
3.ISLOGICAL(<value>)
函数作用:检查某个值是否是逻辑值(TRUE 或 FALSE),如果是,则返回 TRUE ,如果值为 TRUE 或 FALSE 之外的任何值,将返回 FALSE。。
示例:ISLOGICAL(TRUE())=ISLOGICAL(FALSE())=True,ISLOGICAL(“TRUE”)=ISLOGICAL(“FALSE”)=ISLOGICAL(100)=False。
4.ISNONTEXT(<value>)和ISTEXT(<value>)
函数作用:检查某个值是否为文本,并且返回 TRUE 或 FALSE。
示例:ISNONTEXT(100)=ISNONTEXT(BLANK())=ISTEXT("100")=True,ISNONTEXT("100")=ISTEXT(100)=ISTEXT(BLANK())=False。
5.ISNUMBER(<value>)
函数作用:检查某个值是否为数字,如果该值为数字,则返回 TRUE;否则返回 FALSE。
示例:ISNUMBER(100)=True,ISNUMBER("100")=ISNUMBER(BLANK())=False。
6.LOOKUPVALUE( <result_columnName>, <search_columnName>, <search_value>[, <search_columnName>, <search_value>]…)
函数作用:为满足由 search_columnName 和 search_value 指定的所有标准的行返回 result_columnName 中的值,类似于Excel中VLOOKUP函数、POWER BI中的RELATED函数(具体用法见DAX函数应用-筛选器函数(下))。
示例:已知两表:‘销售记录’和‘维度表’,关联关系:‘销售记录’.[销售城市]=‘维度表’.[销售城市],要使‘销售记录’表新增一列,显示对应的负责人。
对表1-销售记录新建列:
lookupvalue = LOOKUPVALUE('维度表'[负责人],'维度表'[销售城市],'销售记录'[销售城市])
计算结果:
相关负责人这列是采用RELATED函数计算的结果,两列计算结果完全相同。