技術情報ブログ
SharePoint
2022.03.30

Power Apps キャンバスアプリ:選択肢列と参照(ルックアップ)列の違いについて【前編】

Power Apps キャンバスアプリ:選択肢列と参照(ルックアップ)列の違いについて【前編】

こんにちは。アーティサン株式会社の小刀稱(ことね)です。

Power Apps キャンバスアプリとSharePointリストでアプリを作成する際、フォームの入力を選択式にすることがあると思います。

Power Apps キャンバスアプリ-選択式
Power Apps キャンバスアプリ-選択式

上記を実装する方法として、SharePointリストの選択肢列または、参照(ルックアップ)列を用いることが一般的です。
しかし実はこの2つ、運用や挙動に違いがあります。

今回は、選択肢列・参照列を用いる際の違いについてお伝えします。
内容としては、中級者向けであり、Power Appsを用いてアプリを作成したことのある方に向けて作成しております。

 

前提:SharePointの選択肢列と参照(ルックアップ)列とは

はじめに、SharePointの選択肢列と参照列について説明します。

どちらも選択式で項目を入力することができるという点が同じです。
違いとしては、選択項目をどこに保存するかという点です。

選択肢列は、SharePointリストの設定値として、リスト内に選択項目を保存します。

SharePoint-選択肢列
SharePoint-選択肢列

一方、参照列を用いる際は、別のSharePointリスト(以下、参照用リスト)に選択項目を保存します。

SharePoint-参照列
SharePoint-参照列

 

運用の違いについて

運用の観点から見たときの違いについて説明します。

選択肢列を用いる場合、選択項目を管理するためのリストを別途用意する必要がありません。
よって、お手軽に選択項目を実装することがメリットとして挙げられます。
しかし、選択項目の件数が多くなると管理しづらいのがデメリットとなります。

一方、参照列を用いる場合、参照用リストを別途用意する必要があります。
よって、選択項目の件数が多くなっても管理しやすいのがメリットです。
しかし、参照用リストを別で用意するため、管理するリストの数が多くなってしまうことがデメリットとなります。

以下に、運用に関するメリット・デメリットをまとめました。

 

メリット

デメリット

選択肢列

管理するリストの数が少なくて済む

選択項目の件数が多くなると、管理しづらい

参照列

選択項目の件数が多くなっても、管理しやすい

管理するリストの数が多くなる

 

挙動の違いについて

続いて、2種類の列を用いてPower Apps キャンバスアプリを作成する際の挙動の違いについて説明します。

Power Apps キャンバスアプリにて、選択式の入力フォームを作成する際、以下3パターンにて実装できます。

以降では、実際にアプリを作成しながら、挙動の違いを確認します。

今回検証するのは、以下項目です。

 

パターン1:選択肢列 × Choices 関数

選択肢列とChoices 関数を用いるパターンです。

実装のイメージとしては、以下のとおりです。

選択肢列 × Choices 関数-実装イメージ
選択肢列 × Choices 関数-実装イメージ

選択肢列には、各選択項目が保存されています。
また、Power Apps キャンバスアプリは、SharePointリスト(選択肢列VS参照列)を用いて入力フォームを作成しています。

 

設定の確認

Power Apps キャンバスアプリを作成します。
SharePointリストからアプリを作成してください。

作成する手順は以下のURLを参照してください。
SharePoint リストからキャンバス アプリを作成する

編集用のフォーム(EditScreen)の選択肢列について、Itemsプロパティを確認すると、以下となっております。

Choices([@選択肢列VS参照列].選択肢列)
選択肢列 × Choices 関数-Itemsプロパティ
選択肢列 × Choices 関数-Itemsプロパティ

Choices()関数については、以下URLを参照してください。
Power Apps の Choices 関数

 

挙動の確認

各検証項目について、確認していきます。

  • 表示可能な項目

    項目選択時、フォームに表示できる内容は、DataCardValueの「フィールド」→「編集」→「主要なテキスト」や「副次的なテキスト」にて設定できます。

    フィールドの設定
    フィールドの設定

    調査したところ、表示できる項目は、Value(選択肢の項目名)の1つのみでした。

    選択肢列 × Choices 関数-表示項目
    選択肢列 × Choices 関数-表示項目

    上記は、項目を選択する際、フォームに表示される内容がValue(選択肢の項目名)のみということを示しています。

    選択肢列 × Choices 関数-表示項目の設定
    選択肢列 × Choices 関数-表示項目の設定
  • 検索項目

    検索できる項目は、DataCardValueの「フィールド」→「編集」→「SearchField」にて設定できます。

    調査したところ、検索できる項目は、Value(選択肢の項目名)の1つのみでした。

    選択肢列 × Choices 関数-検索項目
    選択肢列 × Choices 関数-検索項目

    上記の設定は、検索対象の項目がValue(選択肢の項目名)のみということを示しています。

    選択肢列 × Choices 関数-検索項目の設定
    選選択肢列 × Choices 関数-検索項目の設定
  • 検索方法

    続いて、検索方法について確認しましょう。

    検索方法としては前方一致のみ対応可能でした。(部分一致は対応不可)

    選択肢列 × Choices 関数-検索方法
    選択肢列 × Choices 関数-検索方法
  • 選択項目数

    今回は、選択項目として10,000件のデータを準備しました。

    アプリ上では、10,000件全ての項目が選択可能でした。

    選択肢列 × Choices 関数-選択可能なデータ件数
    選択肢列 × Choices 関数-選択可能なデータ件数

 

本日はここまで。

今回は、Power Apps キャンバスアプリを作成する際、SharePointリストの選択肢列または、参照列を用いる上での運用の違いについてお伝えしました。
また、選択肢列を用いた場合について、その挙動を確認しました。
次回は、参照列を用いた場合の挙動について確認します。

ここまで読んでくださり、ありがとうございます。

 

Power Platform(SharePoint・Power Apps・Power Automate)に関する営業活動や設計、開発などを担当:小刀稱知哉

小刀稱知哉

大分県出身(温泉大好き)、現在は東京都在住

1990年生まれ

30才でメーカーの技術営業からIT業界にジョブチェンジ!!!

趣味は読書

主にMicrosoftのローコード(SharePoint・Power Platform)に関するに関する営業活動や設計、開発などを担当しております!

(最近はCopilot Studioについても勉強中)

持ってる資格はPL-200/PL-300/PL-400/PL-600/MS-700/AZ-104/AZ-305/SC-200/SC-100

シェアする
記事カテゴリ
最新記事
2025.04.30

Power Apps, Power Automate で作る NFC タグを活用したアプリ例

2025.04.16

Power Apps で NFC タグを使ってみる

2025.04.02

Copilot Studioで作成したコパイロットをTeams に追加する方法

2025.03.19

SharePoint リストで主キーを実装し、比較してみた

2025.03.12

SharePointのデザインをもっとおしゃれに!(X-SP Design | SharePoint デザイン拡張サービスのご紹介)(4) サンプルの紹介その2

SharePointEF CoreMarker Clustererキャンバスアプリメールdialogerrorレスポンシブ レイアウトOpenAI環境構築手順複数項目削除変更生成系AIExcelマイグレーションRANK()関数DatePickerfirst()関数Tips復元responsive layoutオープンAIpipelineシェアポイントフォルダ外部DBCopilotPower AutomateFramework CoreDynamics 365 SalesDropdownnest新機能restoreデータ行の制限チャットGPTCI/CD便利機能ゴミ箱連携licenseC#Attribute directivesMicrosoft Translatorview入れ子変数Power BI引き継ぎgalleryパイプラインカレンダー完全削除接続添付ファイルコントロールattributeO/Rマッパーマーカークラスタリングライブラリビュー動的リスト検索個人列退職ギャラリーDevOpsCalendarモデル駆動型データフローファイルサイズvalidationazure sql databasetailwindcssアクセス制限collectionMicrosoft 365グループユーザー列所有者を変更スクロールMicrosoft 365Teamsセキュリティロールrecycle binフルリモートワークローコードCase式マルチテナント承認コレクションセキュリティグループSharePoint Online異動コンテナ簡易在庫管理ローコード開発ビジネスルールごみ箱アーティサンAngularHTTP Requestドロップダウンメニューリマインド複数の添付ファイル送信元リストLoopショートカットキー時間外非エンジニアDataverseアクセス許可ArtisanAccessCSSBreakpointObserverSet承認フローメールの送信非表示Microsoftshortcut key通知体験談JavaScriptSharePoint Framework転職InfoPathxUnitメディアクエリForAllform差出人アプリdesignconcat関数ファイル勉強表示SPFx主キーMatTable.Net Core 3.1スマホUpdateContextエクスポートインスタントクラウドフロー[市民開発者JSON文字制限フィルター クエリ内製化切替サンプルCopilot StudioAngular MaterialVSCodePCロードマップインポート自動化したクラウドフロー構築デザインフロー実行ドキュメント ライブラリ市民開発登録者samplePowerAppsデータ構造.Net Core Test Explorerレスポンシブ技術カスタマイズ委任自動化したクラウド フロー運用開発環境filter query管理システム列X-SPNFCタグモデル駆動型アプリSortByColumns関数Dataverse for Teams入門ItcomponentVBAフローの種類選択肢列環境sortガバナンス登録日StylePowerAutomatePower AppsTypeScriptitem関数初心者情報技術ダイアログエラーインスタント クラウド フロー参照列本番環境ソートerror notification更新者StudioPower PlatformHTMLGoogle Maps中級者メッセージIDコンポーネントエクセルスケジュール済みクラウド フローChatGPTライセンスmultiple itemエラー通知更新日AI
PageTop
ページトップに戻る