PowerAppsのFilter関数でデータを上手に表示して整理する方法を解説

PowerAppsでデータを管理する際、必要な情報を素早く抽出できると便利ですよね。

その際に活用できるのが「Filter関数」です。

Filter関数を使えば、特定の条件に基づいてデータを絞り込み、より効率的なアプリを作成できます。

本記事では、PowerAppsのFilter関数の基本的な使い方や、活用方法を詳しく解説します。

PowerAppsをもっと効率的に学びたいと考えている方には、Udemyのオンライン講座がおすすめです。
初心者向けのコースが充実しており、動画で実践的に学べるため、独学よりもスムーズにスキルを習得できます。
特に、PowerAppsの基本操作や関数の使い方を体系的に学びたい方に最適です。

この記事を書いた人
  • 一部上場企業に勤める会社員
  • ITエンジニア未経験
  • 2024年7月から社内DX担当に異動
  • 同時期にPowerPlatformを始める
  • 効率的に学ぶためにブログスタート
ちょびです!
目次

PowerAppsのFilter関数とは?

PowerAppsのFilter関数は、データソースから特定の条件に合致するデータを抽出するための関数です。

例えば、特定のカテゴリに属するデータのみを表示したり、ユーザーの入力に応じてリアルタイムでリストを更新したりすることができます。

Filter関数の主な用途は以下のとおりです。

  • 特定の条件に合致するデータの表示(例:完了済みのタスクのみを表示)
  • ユーザー入力に応じたリアルタイム検索機能の実装
  • ドロップダウンやテキストボックスと組み合わせたフィルタリング

PowerAppsのFilter関数の基本的な使い方

Filter関数の基本構文は以下のとおりです。

Filter(データソース, 条件式)

例えば、SharePointリストの「Tasks」から「Status」フィールドが”完了”になっているレコードのみを抽出する場合、次のように記述します。

Filter(
    Tasks,
    Status = "完了"
)

この状態でFilter関数からの戻り値を見てみると、「Status」が”完了”になっているテーブル値が返されます。

Task

1. 複数条件を適用する

複数の条件を指定する場合は、Andや,を使用します。

Filter(
    Tasks,
    Status = "完了" And Priority = "高"
)

または、「,(カンマ)」を使って記述することも可能です。

Filter(
    Tasks,
    Status = "完了",
    Priority = "高"
)

2. ユーザー入力に応じたフィルタリング

ユーザーが入力した値に応じてデータをフィルタリングする場合、TextInputコントロールと組み合わせることで実現できます。

Filter(
    Tasks,
    StartsWith(Title, TextInput1.Text)
)

このコードでは、ユーザーがTextInput1に入力した文字列で、Titleフィールドのデータをリアルタイムにフィルタリングできます。

3. ドロップダウンと組み合わせた動的フィルタ

ドロップダウンの選択に応じてデータをフィルタリングする場合、次のように記述します。

Filter(
    Tasks,
    Category = Dropdown1.Selected.Value
)

PowerAppsのFilter関数を使う際の注意点

PowerAppsには初心者が勘違いしやすいものとして、Filter関数に似た関数で、「LookUp関数」と「Search関数」があります。

それぞれの関数は以下のような明確な違いがあります。

関数説明
Filter指定した条件に一致する複数のレコードを取得します
LookUp指定した条件に一致する単一のレコードを取得します
Search定した文字列が含まれるレコードを検索して一致するデータを返します

それぞれがFilter関数とどう違うのか、詳しく見ていきましょう。

Filter関数とLookUp関数の違い

Filter関数とLookUp関数は、どちらも条件に合致するデータを取得するための関数ですが、動作には明確な違いがあります。

例えば、タスクのリストから「完了」したすべてのタスクを取得したい場合は、Filter関数を使用します。

Filter(
    Tasks,
    Status = "完了"
)

一方、特定のIDに一致する1つのタスクを取得したい場合は、LookUp関数を使用します。

LookUp(
    Tasks,
    ID = 1
)

それぞれの関数は以下のケースで使い分けましょう。

  • 複数のレコードを取得する場合 → Filter関数
  • 単一のレコードのみ取得したい場合 → LookUp関数

LookUp関数はパフォーマンス的に優れており、特定のデータを迅速に取得できるため、単一の値を取得したい場合に適しています。

逆に、複数のレコードを対象とする場合はFilter関数を活用すると良いでしょう。

Filter関数とSearch関数の違い

Filter関数とSearch関数は、どちらもデータをフィルタリングする目的で使用されますが、それぞれの動作には違いがあります。

例えば、リスト内の「Title」フィールドに「プロジェクト」という単語を含むデータを取得したい場合、Search関数を使用すると次のようになります。

Search(
    Tasks,
    "プロジェクト",
    "Title"
)

一方、Filter関数で特定のステータスが「完了」のデータのみを取得する場合は次のようになります。

Filter(
    Tasks,
    Status = "完了"
)

両者も以下のケースで使いわけられると良いでしょう。

  • 特定の条件に基づいてレコードを厳密にフィルタリングする場合 → Filter関数
  • 部分一致検索を行いたい場合(特定のキーワードを含むデータを取得) → Search関数

Search関数はデリゲーションが制限されるケースがあるため、大量のデータを扱う場合はパフォーマンスに注意が必要です。

まとめ

PowerAppsのFilter関数を活用することで、ユーザーが求めるデータを素早く抽出し、より使いやすいアプリを作成できます。

条件を組み合わせることで、動的なフィルタリングやリアルタイム検索機能を簡単に実装可能です。

ただし、大量データを扱う場合のパフォーマンスやデリゲーションの制限には注意が必要です。

適切なデータ構成を設計しながら、効率的なフィルタリングを実現しましょう!

PowerAppsはUdemyで学べる!

Udemy
学習スタイルオンライン講座
・動画
・スライド
運営会社株式会社ベネッセコーポレーション
期間購入した講座は無期限で視聴可能
料金1,500円〜29,000円(税込)
サポート年間通してセール多数開催
購入前に無料視聴可能
30日間返金保証 など

Udemyは、オンラインで幅広い分野のスキルを手軽に学べる、世界最大級のオンライン学習プラットフォームです。

PowerAppsだけでなく、PowerAutomateを含むPowerPlatform系以外にも以下のような講座があります。

Udemyで学べるジャンル
  • ビジネス
  • プログラミング
  • デザイン
  • 語学
  • 趣味 など

20万以上のコースから、動画講座で自分のペースで学習できます。

Udemyは不定期ですが頻繁にセールを開催します。
95%以上割引かれて1,500円で購入できる講座もありますよ!

最大95%OFFのセールをチェック! /

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次