Excel DAX - 条件值和错误测试

您可以使用 DAX 函数来测试数据中根据条件产生不同值的值。 例如,您可以测试年销售额,并根据结果将经销商标记为首选或超值。

您还可以使用 DAX 函数来检查值的范围或类型,以防止意外的数据错误破坏计算。


根据条件创建值

您可以使用嵌套的 IF 条件来测试值并有条件地生成新值。 以下 DAX 函数对条件处理和条件值很有用 −

IF (<logical_test>,<value_if_true>, [<value_if_false>]) − 检查是否满足条件。 如果条件为 TRUE,则返回一个值;如果条件为 FALSE,则返回另一个值。 value_if_false 是可选的,如果省略且条件为 FALSE,则函数返回 BLANK()。

OR (<logical1>,<logical2>) − 检查其中一个参数是否为 TRUE 以返回 TRUE。 如果两个参数均为 FALSE,则该函数返回 FALSE。

CONCATENATE (<text1>, <text2>) − 将两个文本字符串连接成一个文本字符串。 连接的项目可以是文本、数字或表示为文本的布尔值或这些项目的组合。 如果列包含适当的值,您还可以使用列引用。


测试 DAX 公式中的错误

在 DAX 中,您不能在计算列的一行中有有效值而在另一行中有无效值。 也就是说,如果计算列的任何部分存在错误,整个列都会被标记为错误,您必须更正 DAX 公式以删除导致无效值的错误。

DAX 公式中的一些常见错误是 −

  • 除以零。
  • 函数的参数为空,而预期参数为数值。

您可以结合使用逻辑函数和信息函数来测试错误并始终返回有效值以避免在计算列中返回错误。 以下 DAX 函数可以帮助您实现这一点。

ISBLANK (<value>) − 检查值是否为空并返回 TRUE 或 FALSE。

IFERROR (value, value_if_error) − 如果第一个参数中的表达式导致错误,则返回 value_if_error。 否则,返回表达式本身的值。

表达式的返回值和 value_if_error 必须是相同的数据类型。 否则,您将收到错误消息。