Power BI-IF和SWITCH函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Power BI-IF和SWITCH函数相关的知识,希望对你有一定的参考价值。

参考技术A IF和SWITCH函数是DAX中的两个逻辑判断函数,功能都是一样的,进行逻辑判断计算,进行多条件判断时,两者都可以实现,但是使用if会嵌套多个if,过程会有点繁琐,而使用switch就会简单明了,可读性也强。

1.IF函数

语法:if(条件,真的结果,假的结果)

判断使用的逻辑符:

等于使用“=”表示,逻辑与使用“&&”表示,逻辑或使用“||”表示,而逻辑非,通常使用NOT()函数来实现

举例:根据关键词成本判断区间

成本区间判断 = IF([测试成本]>300,"红色成本",IF([测试成本]>100,"黄色成本","绿色成本"))

为了突出,我设置了一下条件格式,在背景色-高级控件中设置,最小值,居中,最大值都可以自定义

2.SWITCH函数

语法:SWITCH(表达式,条件1,结果1,条件2,结果2,....<else>)

两种判断情况

①判断条件大于小于的情况:

还是使用上面if中的案例,使用switch编写:

成本区间判断2 = SWITCH(TRUE(),[测试成本]>300,"红色成本",[测试成本]>100,"黄色成本","绿色成本")

上面if嵌套不多,如果条件过多,if函数的嵌套就会很多,可读性较差,使用switch的话就会简单明了

解释:这里的true()是表示每个条件返回都可以是一个逻辑值

也就是说第一个参数如果是true,则第二参数必须是布尔类型即判断逻辑值,如果第一个参数是字段列,则第二个参数就是具体值,就符合第②种情况

②判断条件相等的情况:

如果上面例子不使用TRUE(),那么成本区间判断2的公式就会这样写:

成本区间判断2 = SWITCH('测试数据'[关键词],139,"黄色成本",589.5,"红色成本",118.8,"黄色成本".......)

后面会根据每个成本进行书写判断,无论书写还是可读性都很困难,所以在判断大小的情况时就要使用第①种情况,如果要判断条件相等的话,最好条件少,比如根据季度数判断季度,如:

条件相等 = SWITCH([季度转换值],1,"第一季度",2,"第二季度",3,"第三季度",4,"第四季度",BLANK())

今天就分享完了,如果解决了您的困惑,就动动发财小手点个赞吧,我是Sugargl,下次见,88

Power BI DAX函数のSUMX函数

参考技术A 聚合函数 : SUM、AVERAGE、MIN、MAX 和 STDEV

这些聚合函数都作用于列,几乎只对数值或日期进行操作(除了MIN 和 MAX 可以对文本值进行操作),在执行聚合时不考虑空值。

与之相对应的叫做 迭代器 :按自定义表达式聚合一个表而不只是单个列(如图中SUMX)。

迭代器 始终接受至少两个参数:第一个是它们扫描的表; 第二个通常是为表的每一行所计算的表达式。

大多数迭代器与它们非迭代的对应函数具有相同的名称。例如,SUM 有一个对应的 SUMX,而 MIN 有一个对应的 MINX。

然而值得注意的是 FILTER、ADDCOLUMNS、GENERATE  和其他作为迭代器的函数,它们没有对应的聚合函数。

欢迎关注知乎分享更多关于DAX函数: 入骨

以上是关于Power BI-IF和SWITCH函数的主要内容,如果未能解决你的问题,请参考以下文章

switch

cisco设备时间配置

Android 如何正确获取 Switch 的值?

什么是静态变量?

第3.2章

Bootstarp-switch(动画开关插件)