IF
检查条件,and 在 value时返回一个 TRUE
,否则返回 secondvalue。
语法
IF(<logical_test>, <value_if_true>[, <value_if_false>])
参数
术语 | 定义 |
---|---|
logical_test |
可计算为 valueorTRUE 的任何 orFALSE 表达式。 |
value_if_true |
逻辑测试 value 返回的 ifTRUE 。 |
value_if_false |
(可选)逻辑测试 value 返回的 ifFALSE 。
If 省略,将返回 BLANK。 |
返回 value
value_if_true
、value_if_false
、orBLANK
。
言论
IF 函数可以返回变体数据类型 if
value_if_true
andvalue_if_false
是不同的数据类型,但该函数尝试返回单个数据类型,if 两个value_if_true
andvalue_if_false
都是数值数据类型。 在后一种情况下,IF 函数将隐式 convert 数据类型以适应这两种 values。例如,公式
IF(<condition>, TRUE(), 0)
返回TRUE
or 0,但公式IF(<condition>, 1.0, 0)
仅返回十进制 valueseven,尽管value_if_false
是整数数据类型。 若要详细了解隐式数据类型转换,请参阅 数据类型。若要执行分支表达式而不考虑条件表达式,请改用 IF.EAGER。
例子
以下 Product 表计算列定义使用不同的 IF 函数根据其列表 product对每个 price 进行分类。
first 示例测试 列表 Price 列 value 是否小于 500。 当此条件 value_if_false
value,因此返回 BLANK。
本文中的示例可用于 sample Adventure Works DW 2020 Power BI Desktop 模型。 若要获取模型,请参阅 DAXsample 模型。
Price Group =
IF(
'Product'[List Price] < 500,
"Low"
)
second 示例使用相同的测试,但此 time 包括 value_if_false
value。 因此,公式将每个 product 分类为 Low
orHigh
。
Price Group =
IF(
'Product'[List Price] < 500,
"Low",
"High"
)
第三个示例使用相同的测试,但这 time 嵌套 IF 函数来执行其他测试。 因此,公式将每个 product 分类为 Low
、Medium
、orHigh
。
Price Group =
IF(
'Product'[List Price] < 500,
"Low",
IF(
'Product'[List Price] < 1500,
"Medium",
"High"
)
)
提示
如果需要嵌套多个 IF 函数,SWITCH 函数可能是更好的选择。 此函数提供了一种更优雅的方法来编写返回两个以上可能的表达式 values。