條件值和錯誤測試



您可以使用DAX函式測試資料中的值,這些值根據條件產生不同的值。例如,您可以測試每年的銷售額,並根據結果將經銷商標記為“優選”或“普通”。

您還可以使用DAX函式檢查值的範圍或型別,以防止意外的資料錯誤中斷計算。

基於條件建立值

您可以使用巢狀IF條件來測試值並有條件地生成新值。以下DAX函式可用於條件處理和條件值:

IF (<邏輯表示式>,<真值>,<假值>) − 檢查是否滿足條件。如果條件為TRUE,則返回一個值;如果條件為FALSE,則返回另一個值。“假值”是可選的,如果省略且條件為FALSE,則函式返回BLANK()。

OR (<邏輯1>,<邏輯2>) − 檢查引數之一是否為TRUE以返回TRUE。如果兩個引數都為FALSE,則函式返回FALSE。

CONCATENATE (<文字1>,<文字2>) − 將兩個文字字串連線成一個文字字串。連線的專案可以是文字、數字或布林值(以文字表示),也可以是這些專案的組合。如果列包含適當的值,您也可以使用列引用。

在DAX公式中測試錯誤

在DAX中,您不能在計算列的一行中擁有有效值,而在另一行中擁有無效值。也就是說,如果計算列的任何部分存在錯誤,則整個列都將標記為錯誤,您必須更正DAX公式以消除導致無效值的錯誤。

DAX公式中的一些常見錯誤包括:

  • 除以零。
  • 函式的引數為空白,而預期引數為數值。

您可以結合使用邏輯函式和資訊函式來測試錯誤並始終返回有效值,以避免在計算列中返回錯誤。以下DAX函式可以幫助您做到這一點。

ISBLANK (<值>) − 檢查值是否為空白並返回TRUE或FALSE。

IFERROR (值, 錯誤值) − 如果第一個引數中的表示式導致錯誤,則返回錯誤值。否則,返回表示式本身的值。

表示式的返回值和錯誤值必須具有相同的資料型別。否則,您將收到錯誤。

廣告