美文网首页
POWER BI DAX函数应用-信息函数

POWER BI DAX函数应用-信息函数

作者: 空白嗝子 | 来源:发表于2019-06-24 15:24 被阅读0次

信息函数查找作为参数提供的单元格或行,并且指示值是否与预期的类型匹配。 例如,如果您引用的值包含错误,则 ISERROR 函数将返回 TRUE。

以下将详细叙述几种常用的信息函数。

在我们进行除法计算的时候,经常会遇到分母为空的情况,比如计算销量同比时,去年同期的销量可能为空,如果不对公式进行处理,会出现无穷大的结果。为解决此情况,最常用的函数是divide函数,同比=divide(今年销量-去年同期销量,去年同期销量),此函数将避免分母为空的情况。

示例:计算每种武器的销量同比。

原始数据

divide = DIVIDE('信息函数'[销量]-'信息函数'[去年同期销量], '信息函数'[去年同期销量])

计算结果:

divide函数计算结果

除了divide函数,我们还可以使用两个信息函数达到相同的效果,分别是ISBLANK(<value>)和ISERROR(<value>),范例将在下述示例中给出。

1.ISBLANK(<value>)

函数作用:判断某个值是否为空白,是空白返回 TRUE ,反之返回 FALSE。

示例:

新建列:

isblank = IF(ISBLANK('信息函数'[去年同期销量]),BLANK(),('信息函数'[销量]-'信息函数'[去年同期销量])/'信息函数'[去年同期销量] )

计算结果:

isblank函数计算结果

2.ISERROR(<value>)

函数作用:检查某个值是否为错误,正确返回 TRUE, 错误返回 FALSE。

示例:在本例中,如果分母为空就视为错误。

新建度量值:

iserror = IF(ISERROR(('信息函数'[销量]-'信息函数'[去年同期销量])/'信息函数'[去年同期销量]),BLANK(), ('信息函数'[销量]-'信息函数'[去年同期销量])/'信息函数'[去年同期销量])

iserror计算结果

除此之外,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-销售记录 表2-维度表 两表关联关系

对表1-销售记录新建列:

lookupvalue = LOOKUPVALUE('维度表'[负责人],'维度表'[销售城市],'销售记录'[销售城市])

计算结果:

LOOKUPVALUE函数计算结果

相关负责人这列是采用RELATED函数计算的结果,两列计算结果完全相同。

相关文章