本篇汇总 DAX「逻辑函数」共 11 个函数,常用函数标 🔥。每个函数附语法、示例与参数说明。
| 函数 | 说明 | 语法 | 示例 |
|---|---|---|---|
AND 🔥 |
检查所有参数是否均为 TRUE。 | AND(<logical1>, <logical2>) |
AND(Sales[Amount] > 1000, Sales[Quantity] > 5) |
CHOOSE 🔥 |
从值列表中返回指定位置的值。 | CHOOSE(<index>, <value1>, [<value2>]) |
CHOOSE(2, "Red", "Green", "Blue") |
IF 🔥 |
检查条件,如果条件为 TRUE,则返回一个值;否则返回另一个值。 | IF(<logical_test>, <value_if_true>, [<value_if_false>]) |
IF(Sales[Amount] > 1000, "High", "Low") |
IFERROR 🔥 |
如果表达式返回错误,则返回指定值;否则返回表达式结果。 | IFERROR(<value>, <value_if_error>) |
IFERROR(Sales[Amount] / Sales[Quantity], 0) |
OR 🔥 |
检查是否任一参数为 TRUE。 | OR(<logical1>, <logical2>) |
OR(Sales[Amount] > 1000, Sales[Quantity] > 10) |
SWITCH 🔥 |
根据值列表计算表达式,返回第一个匹配值的结果。 | SWITCH(<expression>, <value>, <result>, [<value>, <result>], [<else>]) |
SWITCH(Sales[Region], "North", 1000, "South", 2000, 0) |
COALESCE |
返回第一个非空值。 | COALESCE(<value1>, <value2>) |
COALESCE(BLANK(), "Default") |
FALSE |
返回逻辑值 FALSE。 | FALSE() |
FALSE() |
IFNA |
如果表达式结果为 #N/A,则返回指定值。 | IFNA(<value>, <value_if_na>) |
IFNA(LOOKUPVALUE(Products[Name], Products[ID], Sales[ProductID]), "Not Found") |
NOT |
返回逻辑值的相反值。 | NOT(<logical>) |
NOT(Sales[Amount] > 1000) |
TRUE |
返回逻辑值 TRUE。 | TRUE() |
IF(Sales[Amount] > 1000, TRUE(), FALSE()) |
热门函数参数详解
AND
检查所有参数是否均为 TRUE。
| 参数 | 说明 |
|---|---|
logical1 |
要测试的第一个条件。 |
logical2 |
要测试的第二个条件。可以添加更多条件。 |
CHOOSE
从值列表中返回指定位置的值。
| 参数 | 说明 |
|---|---|
index |
要选择的位置(从1开始)。 |
value1 |
第一个值。 |
value2... |
(可选)更多值。 |
IF
检查条件,如果条件为 TRUE,则返回一个值;否则返回另一个值。
| 参数 | 说明 |
|---|---|
logical_test |
要测试的条件,返回 TRUE 或 FALSE。 |
value_if_true |
条件为 TRUE 时返回的值。 |
value_if_false |
(可选)条件为 FALSE 时返回的值。如果省略,默认返回 BLANK。 |
IFERROR
如果表达式返回错误,则返回指定值;否则返回表达式结果。
| 参数 | 说明 |
|---|---|
value |
要检查的表达式。 |
value_if_error |
表达式出错时返回的值。 |
OR
检查是否任一参数为 TRUE。
| 参数 | 说明 |
|---|---|
logical1 |
要测试的第一个条件。 |
logical2 |
要测试的第二个条件。可以添加更多条件。 |
SWITCH
根据值列表计算表达式,返回第一个匹配值的结果。
| 参数 | 说明 |
|---|---|
expression |
要计算的表达式。 |
value, result |
值与结果的对。可以有多对。 |
else |
(可选)没有匹配值时返回的结果。 |
由在线工具箱(www.vba.net)整理制作