赞
踩
IF函数和SWITCH函数的应用场景都比较简单,主要是根据设定不同的条件来获取不同的返回结果。两个函数可以相互替换,例如,IF(<logical_test>,<value_if_true>, value_if_false)可以用SWITCH函数改写为,SWITCH(<logical_test>, TRUE(), <value_if_true>, value_if_false)。
很多场景下,需要进行判断的条件只有两三种,因此相对来说IF函数使用的频率更高。但是很多时候,需要判断的条件可能会多余3条,此时,如果还使用IF函数进行书写,就会出现多层嵌套引用的情况,在阅读和书写上都带来不便。
例如下面是一个嵌套了四层IF函数的表达式,其中IF函数的判断条件部分使用了等于表达式:
IF Function = IF ( expression = A, 1, IF ( expression = 2, B, IF ( express = 3, C, IF ( expression = 4, D ) ) ) )
可以SWITCH函数进行替代。
SWITCH Function =
SWITCH (
expression,
1, A,
2, B,
3, C,
4, D
)
如果IF内的判断条件是下面这种大于或者小于这种比较情况。
If function =
IF (
expression > A,
1,
IF (
expression > B,
2,
C
)
)
则可以用下面这种形式的SWITCH表达式进行替换。
SWITCH function =
SWITCH (
TRUE (),
expression > A, 1,
expression > B, 2,
C
)
在这个SWITCH表达式中用了TRUE()函数作为条件判断的参数,这就相当于无论这个SWITCH表达式在何种上下文环境中运行,该判断条件的结果都是TRUE。根据SWITCH的运算特点,Power BI会去依次检查其后面设定的看起返回结果是否为TRUE,如果是则返回其对应的参数结果。如果没有符合条件的就返回设定值。这样,通过使用一个TRUE()函数作为条件判断参数,就使得后面的SWITCH表达式实现了前一个IF表达式的功能。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。