#・はじめに#
PowerAppsに用意されている関数の中に、
値が空白であるかを返す IsBlank関数 と、テーブルにレコードがあるかを返す IsEmpty関数 があります。
この2つどちらも空白のチェックで似ており、時々混同してしまうため、実験してまとめてみました。
この記事は、その違いを検証した結果を備忘録として残したものですので、参考程度にお願いします。
※詳細は下記の公式情報をご覧ください。
Power Apps での Blank、Coalesce、IsBlank、および IsEmpty 関数
具体的な違いとして公式にはこのように記載されています。(Docsより抜粋)
なるほど。違いは「値を検査対象とするのか、テーブルを検査対象とするのか」のようです。
##試してみた。##
検証用としてPowerAppsアプリを用意しました。
「Submit」ボタンをクリックすると「checktable」コレクションが作成されて中には2レコード用意されています。
###データテーブルが空の場合###
画面上のデータテーブルが空の場合は下図のような結果となりました。
IsEmpty関数は、テーブルもしくはレコードを検査対象とした場合に true が返ってきており、
IsBlank関数は、値を検査対象とした場合に true が返ってきます。
###データテーブルに値がある場合###
画面上のデータテーブルに値がある場合は下図のような結果となりました。
レコードには値が入っているため、すべてのパターンが false になっています。
##比較してみた##
データテーブルにデータ有 / データ無の場合を比較してみると、赤字の3箇所が異なっています。
公式に記載されている通り、
IsEmpty関数は、データテーブル(データソース)を検査対象としており、IsBlank関数は、値(フィールド)を検査対象としていました。
反対に、
IsEmpty関数は値(フィールド)を検査しても false しか返ってこないし、IsBlank関数はデータテーブル(データソース)を検査しても false しか返ってこないようです。
公式の文章のみではなく、試して実感することで納得感が増しました。
この記事がみなさまのお役に立てば幸いです。