技術情報ブログ
Power Platform
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年4月9日生まれ

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

趣味は読書

Power Platform(SharePoint・Power Apps・Power Automate)に関する営業活動や設計、開発などを担当しております!

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

Power Apps・Power Automateの勉強方法(1)

2024.04.03

非エンジニア【(元)自治体職員】が半年間ローコード開発をしてみたら

2024.03.27

Power Automateのベストプラクティス・アンチパターン(5)【Apply to each×コンカレンシー×変数の設定はNG】

2024.03.20

Power Apps×Teams:Teams上からPower Appsを実行する方法

2024.03.13

Power Apps:SharePointリストと連携したカレンダーアプリを自作してみよう

モデル駆動型アプリPower AppsPower PlatformSharePointExcelPower AutomateC#attributevalidationローコードAngularAccessInfoPathMatTableAngular Materialデータ構造SortByColumns関数TypeScriptHTMLEF CoreマイグレーションFramework CoreAttribute directivesO/Rマッパーazure sql databaseCase式HTTP RequestCSSxUnit.Net Core 3.1VSCode.Net Core Test ExplorerDataverse for Teamsitem関数Google MapsMarker ClustererRANK()関数Dynamics 365 SalesMicrosoft TranslatorマーカークラスタリングライブラリtailwindcssマルチテナントドロップダウンメニューBreakpointObserverメディアクエリスマホPCレスポンシブ入門初心者中級者キャンバスアプリDatePickerDropdownviewビューアクセス制限承認リマインドSetForAllUpdateContextロードマップ技術It情報技術メッセージIDメールfirst()関数nest入れ子動的リストcollectionコレクション複数の添付ファイル承認フローformエクスポートインポートカスタマイズcomponentダイアログコンポーネントdialogTips新機能変数検索Microsoft 365グループセキュリティグループ送信元メールの送信差出人インスタントクラウドフロー自動化したクラウドフロー委任VBAエラーエクセルerror復元restorePower BI個人列ユーザー列SharePoint Onlineリスト非表示アプリ[市民開発者構築自動化したクラウド フローフローの種類インスタント クラウド フロースケジュール済みクラウド フローレスポンシブ レイアウトresponsive layoutデータ行の制限引き継ぎ退職所有者を変更異動LoopMicrosoftdesignJSONデザインtemplateテンプレート運用選択肢列参照列ChatGPTOpenAIオープンAIチャットGPTgalleryギャラリースクロールコンテナショートカットキーshortcut keyconcat関数文字制限フロー実行開発環境環境本番環境ライセンス環境構築手順pipelineCI/CDパイプラインDevOpsMicrosoft 365簡易在庫管理時間外通知ファイルフィルター クエリドキュメント ライブラリfilter querysortソートmultiple item複数項目シェアポイント便利機能カレンダーCalendarTeamsローコード開発非エンジニア体験談勉強内製化
PageTop
ページトップに戻る