Excel Dax 简明教程

Conditional Values and Testing for Errors

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

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

Creating a Value Based on a Condition

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

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

OR (<logical1>,<logical2>) − 检查其中一个参数是否为真来返回真。如果两个参数都为假,则该函数返回假。

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

Testing for Errors within a DAX Formula

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

DAX 公式中的一些常见错误:

  1. Division by zero.

  2. 函数的参数为空白,而预期的参数是数值。

您可以结合使用逻辑函数和信息函数来测试错误,并始终返回有效值,以避免在计算列中返回错误。以下 DAX 函数可以帮助您解决此问题。

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

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

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