共用方式為


Blank、 、 CoalesceIsBlank和IsEmpty函數

Functions 適用對象
Blank 畫布應用程式 Copilot Studio 桌面流程 Dataverse 公式欄 模型導向應用程式 Power Platform CLI Dataverse 函數
Coalesce
IsEmpty
畫布應用程式 Copilot Studio 桌面流程 模型導向應用程式 Power Platform CLI Dataverse 函數 Power Pages
IsBlank 畫布應用程式 Copilot Studio 桌面流程 Dataverse 公式欄 模型導向應用程式 Power Platform CLI Dataverse 函數 Power Pages

測試值是否為空白或未包含 記錄資料表,並提供建立 空白 值的方式。

概觀

Blank 是「無值」或「未知值」的佔位符。例如,如果使用者尚未進行選取,則 下拉式方塊 控制項的 Selected 屬性為 空白 。 許多資料來源會儲存和傳回 NULL 值,在 Power Apps 中會呈現為 空白

在 Power Apps 中,任何屬性或計算值可以 空白。 例如,布林值通常二選一︰truefalse。 但除了這兩個之外,它也可以是 空白 的,表示該州未知。 這類似於 Microsoft Excel,工作表儲存格一開始空白沒有內容,但可容納 TRUEFALSE 值 (除此之外)。 儲存格的內容隨時都可以再次清除,並返回 空白狀態。

空字串 是指不包含字元的字串。 Len 函式 針對此字串返回零,而且它可以在公式中寫為兩個雙引號,中間不加任何 ""。 某些控制項和資料來源使用空白字串來表示 "無值" 條件。 為了簡化應用程式建立, IsBlankCoalesce 函數會測試 空白 值或空字串。

在函數的內容 IsEmpty 中, 特定於不包含任何記錄的資料表。 資料表結構可能不變,以 欄位 名稱完成,但資料表沒有資料。 資料表可能以空白開始,採納記錄且不再為空白,然後移除記錄並再一次空白。

Blank

函式會 Blank 傳回 空白 值。 使用這個將 NULL 值儲存在支援這些值的資料來源中,以便有效地移除欄位中的任何值。

IsBlank

IsBlank 函數會測試 空白 值或空字串。 測試包含空字串,以簡化應用程式建立,因為某些資料來源和控制項會在沒有值時使用空字串。 若要專門測試 空白 值,請使用 if(Value = Blank(), ...IsBlank而不是 。 函式會 IsBlank 將空表格視為非空白,並 IsEmpty 應該用來測試表格。

為現有應用程式啟用錯誤處理時,請考慮取代 IsBlankIsBlankOrError 以保留現有的應用程式行為。 在新增錯誤處理之前,空白值用於表示來自資料庫與錯誤值的 Null 值。 錯誤處理會區隔 空白的這兩種解譯,這可能會變更繼續使用 IsBlank的現有應用程式的行為。

IsBlank 傳回值是布林值 truefalse

Coalesce

Coalesce 式會依序評估其引數,並傳回第一個非 空白 或空字串的值。 您可以使用此函式,以不同的值取代 空白 值或空字串,但是保持非 空白 與非空字串值不變。 如果所有參數都是 空白 或空字串,則函數會傳回 空白,這是 Coalesce 將空字串轉換為 空白 值的好方法。

Coalesce( value1, value2 ) 是更簡潔的 If( Not IsBlank( value1 ), value1, Not IsBlank( value2 ), value2 ) 等效值,並且不需要 對 value1value2 進行兩次計算。 如果沒有“else”公式,則 If 函數 返回 空白 ,就像這裡的情況一樣。

所有 Coalesce 引數都必須是相同的類型;例如,您無法將數字與文字字串混合使用。 傳 Coalesce 回值是這個通用型別。

IsEmpty

IsEmpty 函式會測試資料表是否包含任何記錄。 它相當於使用 CountRows 函式,並檢查是否為零。 您可以與 Errors 函數結合使用IsEmpty來檢查資料來源錯誤。

IsEmpty 傳回值是布林值 truefalse

語法

Blank()

Coalesce值1 [, 值2, ... ] )

  • values– 必需。 要測試的值。 每個值都會依序評估,直到找到非 空白 且非空字串的值為止。 不會評估此點之後的值。

IsBlank價值

  • Value –必需。 要測試 blank值或空字串的值。

IsEmpty表格

  • Table - 必需。 要測試記錄的資料表。

範例

Blank

  1. 從頭建立應用程式,並新增 Button 控制項。

  2. 將按鈕的 OnSelect 屬性設為此公式:

    ClearCollect( Cities, { Name: "Seattle", Weather: "Rainy" } )
    
  3. 預覽應用程式,並點擊或點選您已新增的按鈕,然後關閉預覽。

  4. File 功能表上,點擊或點選 Collections

    即會出現 Cities 集合物件,顯示一筆含有 "Seattle" 和 "Rainy" 的記錄:

    顯示西雅圖為雨天氣候的集合物件。

  5. 點擊或點選返回箭頭以返回預設工作區。

  6. 新增 Label 控制項,並將其Text屬性設定為下列公式:

    IsBlank( First( Cities ).Weather )
    

    標籤顯示 false,因為 Weather 欄位包含值 ("Rainy")。

  7. 新增第二個按鈕,並將其 OnSelect 屬性設定為下列公式:

    Patch( Cities, First( Cities ), { Weather: Blank() } )
    
  8. 預覽應用程式,並點擊或點選您已新增的按鈕,然後關閉預覽。

    Cities 中第一筆記錄的 Weather 欄位會取代為 空白,以移除先前的 "Rainy"。

    顯示西雅圖天氣欄位為空白的集合物件。

    標籤顯示 true,因為 Weather 欄位不再包含值。

Coalesce

公式 描述 結果
Coalesce( Blank(), 1 ) 測試函數的 Blank 傳回值,該函數一律傳回 空白 值。 因為第一個引數為 空白,會繼續進行下一個引數評估,直到找到非 空白 值為止。 1
Coalesce( "", "2" ) 測試第一個引數,這是一個空字串。 因為第一個引數為空字串,會繼續進行下一個引數評估,直到找到非 空白 值和空字串為止。 2
Coalesce( Blank(), “”, Blank(), “”, “3”, “4” ) Coalesce 從引數清單的開頭開始,依序評估每個引數,直到找到非空白 值和非空字串為止。 本案例中,前四個引數均傳回 空白 或空字串,因此評估會繼續到第五個引數。 第五個引數是非 空白 且非空字串,所以評估會在此停止。 會傳回第五個引數值,而第六個引數則不進行評估。 3
Coalesce( "" ) 測試第一個引數,這是一個空字串。 因為第一個引數是空字串,而且並無其他引數,所以函式會傳回 空白 空白

IsBlank

  1. 從頭開始建立應用程式,並新增文字輸入控制項,然後將它命名為 FirstName

  2. 新增標籤,並將其 Text 屬性設定為下列公式:

    If( IsBlank( FirstName.Text ), "First Name is a required field." )
    

    預設文字輸入控制項的Text屬性設定為 "Text input"。 因為屬性包含值不是空白,而且標籤不顯示任何訊息。

  3. 從文字輸入控制項移除所有字元,包括任何空格。

    因為 Text 屬性不再包含任何字元,所以它是空字串,而且 IsBlank( FirstName.Text )true。 顯示必要欄位訊息。

如需如何使用其他工具執行驗證的資訊,請參閱 Validate 函式和 搭配資料來源

其他範例:

公式 描述 結果
IsBlank( Blank() ) 測試函數的 Blank 傳回值,該函數一律傳回 空白 值。
IsBlank( "" ) 未包含任何字元的字串。
IsBlank(《你好》) 包含一個或多個字元的字串。
IsBlank( AnyCollection 因為 集合物件 存在且不是空白,即使它不含任何記錄。 若要檢查空的集合,請改用 IsEmpty
IsBlank( 中(“你好”, 17, 2 ) ) Mid 的起始字元超過字串的結尾。 結果是空字串。
IsBlank( if( false, false ) ) 沒有 ElseResultIf 函式。 因為條件一律為 false,所以這個 If 始終傳回 空白

IsEmpty

  1. 從頭建立應用程式,並新增 Button 控制項。

  2. 將按鈕的 OnSelect 屬性設為此公式:

    collect( iceCream, {flavor: “strawberry”, 數量: 300}, {flavor: “chocolate”, 數量: 100} )

  3. 預覽應用程式,並點擊或點選您已新增的按鈕,然後關閉預覽。

    已建立名為 IceCream 的集合物件,其中包含這項資料︰

    數量分別是 300 個 100 個的草莓和巧克力口味資料表。

    此集合物件有兩筆記錄,而且並非空白。 IsEmpty( IceCream ) 傳回 false而 CountRows( IceCream ) 傳回 2

  4. 新增第二個按鈕,並將其 OnSelect 屬性設定為下列公式:

    Clear(IceCream)

  5. 預覽應用程式,並點擊或點選第二個按鈕,然後關閉預覽。

    集合物件現在是空的︰

    口味和數量的集合為空集合。

    Clear 函式從集合物件移除所有記錄,造成空集合物件。 IsEmpty( IceCream ) 傳回 true,而 CountRows( IceCream ) 傳回 0

您也可以用來 IsEmpty 測試計算資料表是否為空,如下列範例所示:

公式 描述 結果
IsEmpty( [ 1, 2, 3 ] ) 單欄資料表包含三筆記錄,因此不是空白。
IsEmpty( [ ] ) 單欄資料表不含記錄,因此為空白。
IsEmpty( 過濾器( [ 1, 2, 3 ], 值 > 5 ) ) 單欄資料表不含任何大於 5 的值。 來自篩選的結果不含任何記錄,因此是空白的。