背景

Power Appsの「データから作成したアプリ」では、初期状態で「タイトル(Title)」列を基準に並び替えが設定されています。
この並び替え基準を任意の列(フィールド)に変更して、昇順・降順を切り替えられるようにします。


手順

  1. ギャラリーを選択

    アプリの BrowseScreen1 にある一覧(例:BrowseGallery1)をクリックします。

  2. 昇順/降順アイコンを確認

    右上にあるアイコン(例:IconSortUpDown1)には、次のような式が入っています。

    UpdateContext({SortDescending1: !SortDescending1})

    これで、クリックするたびに昇順⇔降順が切り替わります。

  3. ギャラリーの「Items」プロパティを修正

    デフォルトではタイトルで並び替えています。
    これを特定の列で並び替えるように変更します。”内部列名”を変更します。

    SortByColumns(
        Filter(データソース名, StartsWith(Title, TextSearchBox1.Text)),
        "内部列名",
        If(SortDescending1, SortOrder.Descending, SortOrder.Ascending)
    )

内部名の確認方法

  1. SharePointリストを開く
  2. 右上の⚙️(設定) → 「リストの設定」
  3. 「列」一覧から対象の列(例:「入荷日」)をクリック
  4. URLの末尾を確認

フィールド名と内部列名の違い

種類使う場面
フィールド名(表示名)入荷日画面表示やフォームでの参照
内部列名(内部名)OData__x5165__x8377__x65e5_SortByColumns、GroupBy などで列名を文字列として扱うとき

Power Appsは列名を“文字列”として扱う関数では内部名を探すため、見た目の名前ではなく内部名で指定する必要があります。


動作確認

  • 昇順/降順アイコンをクリック
  • 一覧が「入荷日」の古い順/新しい順に切り替わればOKです!

まとめ

  • 並び替えは SortByColumns() 関数で制御する
  • 文字列で列名を指定する場合は内部名を使う
  • 「OData__」付きの内部名が出るのは、Power AppsがOData経由でSharePointデータを扱っているため