次の方法で共有


Blank、 Coalesce、 IsBlank、および IsEmpty 関数

Functions 対象
Blank Power Platform CLI Dataverse 関数モデル駆動型アプリ Dataverse 数式列 Copilot Studio Desktop フローキャンバス アプリ
Coalesce
IsEmpty
Power Platform CLI Dataverse 関数 Power Pages モデル駆動型アプリ Copilot Studio デスクトップ フローキャンバス アプリ
IsBlank Power Platform CLI Dataverse 関数 Power Pages モデル駆動型アプリ Dataverse 数式列、Copilot Studio デスクトップ フローキャンバス アプリ

値が空白であるかどうか、または テーブルレコード が含まれていないかどうかをテストし、空白の値を作成する方法を提供します。

概要

Blank は、"値なし" または "不明な値" のプレースホルダーです。たとえば、 コンボ ボックス コントロールの Selected プロパティは、ユーザーが選択を行っていない場合は 空白 です。 多くのデータ ソースは、Power Apps で空白として表される NULL 値 を保存し、返すことができます。

Power Apps のプロパティまたは計算された値はいずれも、空白にすることができます。 たとえば、ブール値には通常、true または false という 2 つの値のいずれかがあります。 ただし、これら 2 つの他に、状態が不明であることを示す 空白 を指定することもできます。 ワークシート セル は内容を含まない空白として開始しますが、(とりわけ) TRUE または FALSE の値を保持することができる Microsoft Excel に似ています。 どの時点でも、セルの内容は消去でき、空白状態に返すことができます。

空の文字列 とは、文字が含まれていない文字列を指します。 Len 関数 はこのような文字列のゼロを返し、"" の間に何もない 2 つの二重引用符として数式に書き込むことができます。 一部のコントロールおよびデータ ソースは、空の文字列を使用して "値なし" の条件を示します。 アプリの作成を簡略化するために、 IsBlank 関数と Coalesce 関数は 、空 の値または空の文字列の両方をテストします。

IsEmpty関数のコンテキストでは、はレコードを含まないテーブルに固有です。 テーブルの構造はそのままで、 の名前を付けて完了している場合がありますが、テーブルにはデータがありません。 テーブルは空として開始され、レコードを取り入れるともう空ではなくなり、次にレコードを削除して再度空にすることができます。

Blank

Blank関数は空白の値を返します。 これを使用して、これらの値をサポートするデータ ソースに NULL 値を格納し、フィールドから値を効果的に削除します。

IsBlank

IsBlank関数は、空白の値または空の文字列をテストします。 一部のデータ ソースとコントロールには値が存在しない場合に空の文字列が使用されるため、アプリの作成を容易にする空の文字列がテストに含まれています。 空白の値をテストするには、IsBlankの代わりにif(Value = Blank(), ...を使用します。 IsBlank関数は空のテーブルを空白と見なし、IsEmptyを使用してテーブルをテストする必要があります。

既存のアプリのエラー処理を有効にする場合は、既存のアプリの動作を維持するために、 IsBlankIsBlankOrError に置き換えることを検討してください。 エラー処理を追加する前に、空欄 の値は、データベースからの null 値とエラー値の両方を表すために使用されました。 エラー処理では、これら 2 つの 空白の解釈が分けられます。これにより、 IsBlankを引き続き使用する既存のアプリの動作が変わる可能性があります。

IsBlankの戻り値はブール値 true または false です

Coalesce

Coalesce関数は、引数を順番に評価し、空白または空の文字列ではない最初の値を返します。 この関数を使用して、空白値または空の文字列を別の値に置換えますが、空白でない、および空でない文字列の値は変更しない状態にしておきます。 すべての引数が空白または空の文字列の場合、関数は空白を返し、空の文字列を空白の値に変換する適切な方法Coalesce

Coalesce( value1, value2 ) は、 If( Not IsBlank( value1 ), value1, Not IsBlank( value2 ), value2 ) のより簡潔な同等物であり、 value1value2 を2回評価する必要がありません。 If 関数は、ここでのように "else" 数式がない場合は空白を返します。

Coalesceのすべての引数は同じ型である必要があります。たとえば、数値とテキスト文字列を混在させる必要があります。 Coalesceからの戻り値は、この共通の型です。

IsEmpty

IsEmpty関数は、テーブルにレコードが含まれているかどうかをテストします。 これは、CountRows 関数を使用してゼロを確認するのと同等です。 IsEmptyと Errors 関数を組み合わせることで、データ ソース エラーを確認できます。

IsEmptyの戻り値は、ブール値 true または false です

構文

Blank()

Coalesce( Value1 [, Value2, ... ] )

  • – 必須。 テストする値。 各値は、空の文字列ではなく 空白 でない値が見つかるまで順番に評価されます。 この時点以降の値は評価されません。

IsBlank( )

  • – 必須。 空白値または空の文字列をテストをする値。

IsEmpty( )

  • - 必須。 レコードをテストするテーブル。

使用例

Blank

  1. アプリを最初から作成し、Button コントロールを追加します。

  2. ボタンの OnSelect プロパティを次の数式に設定します。

    ClearCollect( Cities, { Name: "Seattle", Weather: "Rainy" } )
    
  3. アプリをプレビューし、追加したボタンをクリックまたはタップして、プレビューを閉じます。

  4. ファイル メニューでコレクションをクリックまたはタップします。

    市区町村コレクションが表示され、"シアトル" および "雨" の 1 つのレコードが表示されます。

    雨の天気とシアトルを表示するコレクション。

  5. 後ろ向きの矢印をクリックまたはタップして、既定のワークスペースに戻ります。

  6. Label コントロールを追加し、その Text プロパティを次の数式に設定します。

    IsBlank( First( Cities ).Weather )
    

    天気 フィールドに値 ("雨") が含まれているため、ラベルには false と表示されます。

  7. 2 つ目のボタンを追加し、その OnSelect プロパティを次の数式に設定します。

    Patch( Cities, First( Cities ), { Weather: Blank() } )
    
  8. アプリをプレビューし、追加したボタンをクリックまたはタップして、プレビューを閉じます。

    市区町村の最初のレコードの天気フィールドは空白に置き換えられ、以前あった "雨" は削除されます。

    空白の天気のフィールドとシアトルを表示しているコレクション。

    天気フィールドには値が含まれていないため、ラベルには true と表示されます。

Coalesce

計算式 内容 結果
Coalesce( Blank(), 1 ) 常に空白の値を返すBlank関数からの戻り値をテストします。 最初の引数が空白であるため、空白でない値および空でない文字列が見つかるまで、評価は次の引数で続行されます。 1
Coalesce( "", "2" ) 空の文字列である最初の引数をテストします。 最初の引数が空の引数であるため、空白でない値および空でない文字列が見つかるまで、評価は次の引数で続行されます。 2
Coalesce( Blank(), "", Blank(), "", "3", "4" ) Coalesce は引数リストの先頭から始まり、空白 以外の値と空でない文字列が見つかるまで各引数を順番に評価します。 この場合は、最初の 4 つの引数はすべて空白または空の文字列を返すため、評価は 5 番目の引数に続きます。 5 番目の引数は空白でないおよび空でない文字列なので、評価はここで停止します。 5 番目の引数の値が返され、6 番目の引数は評価されません。 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( "Hello" ) 1 つ以上の文字が含まれている文字列。 間違い
IsBlank( AnyCollection ) レコードが含まれていなくても、コレクション が存在するため、空白ではありません。 空のコレクションを確認するには、代わりに IsEmpty を使用します。 間違い
IsBlank( Mid( "Hello", 17, 2 ) ) Mid の開始文字は文字列の末尾よりも後ろにあります。 結果は、空の文字列です。 真実
IsBlank( if( false, false ) ) ElseResult がない If 関数。 条件が常に false になるため、この If は常に空白を返します。 真実

IsEmpty

  1. アプリを最初から作成し、Button コントロールを追加します。

  2. ボタンの OnSelect プロパティを次の数式に設定します。

    Collect( IceCream, {Flavor: "Strawberry", Quantity: 300}, {Flavor: "Chocolate", Quantity: 100} )

  3. アプリをプレビューし、追加したボタンをクリックまたはタップして、プレビューを閉じます。

    IceCream という名前のコレクションが作成され次のデータが含まれます。

    Strawberry と Chocolate のフレーバーの数量が 300 と 100 のテーブル。

    このコレクションに 2 つのレコードは含まれ、空ではありません。 IsEmpty( IceCream ) はfalse を返し、 CountRows(IceCream) は2 を返します。

  4. 2 つ目のボタンを追加し、その OnSelect プロパティを次の数式に設定します。

    クリア(アイスクリーム)

  5. アプリをプレビューし、2 つ目のボタンをクリックまたはタップして、次にプレビューを閉じます。

    これで、コレクションは空になりました。

    空のコレクションとして Flavor と Quantity を持つコレクション。

    Clear 関数はコレクションからすべてのレコードを削除し、その場合は空のコレクションになります。 IsEmpty( IceCream ) はtrue を返し、 CountRows(IceCream) は0 を返します。

次の例に示すように、 IsEmpty を使用して計算テーブルが空かどうかをテストすることもできます。

計算式 内容 結果
IsEmpty( [ 1, 2, 3 ] ) 単一列テーブルに 3 つのレコードが含まれており、したがって、空ではありません。 間違い
IsEmpty( [ ] ) 単一列テーブルにはレコードが含まれず、空です。 真実
IsEmpty( Filter( [ 1, 2, 3 ], Value > 5 ) ) 単一列テーブルに 5 より大きい値が含まれていません。 フィルターからの結果にはレコードが含まれておらず、空です。 真実