📜  DAX函数-逻辑(1)

📅  最后修改于: 2023-12-03 15:14:37.581000             🧑  作者: Mango

DAX 函数 - 逻辑

在 Power BI 或 Excel 中的数据分析表达式 (DAX) 中,逻辑函数用于评估一个或多个条件,基于这些条件返回 True 或 False 的值。本文将介绍 Power BI 或 Excel 中 DAX 库中常用的逻辑函数,并提供使用示例以帮助您在报表或仪表板中分析数据。

IF 函数

IF 函数根据一个或多个条件返回一个值或另一个值。语法如下:

IF(condition, value_if_true, value_if_false)

其中,

  • condition 表示需要测试的条件或表达式。
  • value_if_true 表示如果条件为真时返回的值。
  • value_if_false 表示如果条件为假时返回的值。

示例:

Salestax =
IF (
    [Country] = "USA",
    [Sales] * 0.0475,
    IF (
        [Country] = "Canada",
        [Sales] * 0.05,
        [Sales] * 0.0725
    )
)

这个示例中,根据国家/地区自动计算商品销售税。如果国家/地区是美国,则计算销售额的 4.75%;如果是加拿大,则计算销售额的 5%;否则计算销售额的 7.25%。

SWITCH 函数

SWITCH 函数根据一个表达式选择和返回一个值。如果要选择和返回值的数目很少,可以使用 SWITCH 函数代替 IF 函数。语法如下:

SWITCH(expression, value1, result1, value2, result2, ..., default)

其中,

  • expression 表示需要测试的表达式。
  • value 表示表达式可以采用的多个值。
  • result 表示表达式等于相应值时返回的结果。
  • default 表示表达式不等于任何值时返回的结果。

示例:

Ranking =
SWITCH (
    [Sales],
    0, "No sales",
    1, "Low sales",
    2, "Medium sales",
    3, "High sales",
    "Very high sales"
)

这个示例中,根据销售额对销售量进行排名。如果销售额为 0,则返回 “No sales”;如果销售额为 1,则返回 “Low sales”;如果销售额为 2,则返回 “Medium sales”;如果销售额为 3,则返回 “High sales”;否则返回 “Very high sales”。

AND 和 OR 函数

AND 和 OR 函数用于测试多个条件,如果所有条件都为 True,则 AND 函数返回 True;如果所有条件中至少一个为 True,则 OR 函数返回 True。语法如下:

AND(logical1, logical2, ...)
OR(logical1, logical2, ...)

其中,

  • logical 表示需要测试的条件或表达式。

示例:

Discount Eligibility =
AND (
    [Discount] > 0,
    [Units Sold] >= 10
)

这个示例中,根据折扣金额和销售数量确定是否有资格获得折扣。只有当折扣金额大于 0 并且销售数量大于或等于 10 时,才有资格享受折扣。

NOT 函数

NOT 函数用于测试条件是否为 False。如果条件为 False,则 NOT 函数返回 True;如果条件为 True,则 NOT 函数返回 False。语法如下:

NOT(logical)

其中,

  • logical 表示需要测试的条件或表达式。

示例:

Restricted Countries =
NOT (
    (
        [Country] = "Iran" ||
        [Country] = "North Korea" ||
        [Country] = "Syria"
    ) &&
    [Sales] > 10000
)

这个示例中,根据国家/地区和销售额确定是否被限制。如果国家/地区为伊朗、朝鲜或叙利亚,并且销售额大于 10000,则被限制。

XOR 函数

XOR 函数用于测试两个条件是否有且仅有一个为 True。如果条件 A 为 True 且条件 B 为 False,则 XOR 函数返回 True;如果条件 A 为 False 且条件 B 为 True,则 XOR 函数也返回 True;否则 XOR 函数返回 False。语法如下:

XOR(logical1, logical2)

其中,

  • logical 表示需要测试的条件或表达式。

示例:

Eligibility For 50% Discount =
XOR (
    [Units Sold] >= 10,
    [Total Sales] >= 1000
)

这个示例中,根据销售数量和总销售额确定是否有资格享受 50% 的折扣。只有当销售数量大于或等于 10 或者总销售额大于或等于 1000 的两个条件中有且仅有一个为 True 时,才有资格享受折扣。

Conclusion

逻辑函数是数据分析表达式中的重要组成部分,使用它们可以帮助您更好地分析数据并根据结果采取适当的行动。本文介绍了一些常用的逻辑函数及其使用示例,您可以根据自己的需求使用它们来构建更有效和有用的报表和仪表板。