admin管理员组文章数量:1794759
DAX: 用SWITCH函数替换嵌套IF函数
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表达式的功能。
版权声明:本文标题:DAX: 用SWITCH函数替换嵌套IF函数 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686497637a74146.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论