技術情報ブログ
Microsoft
2023.08.09

SharePoint運用Tips:選択肢・参照列の一覧を更新・削除したらどうなる? 参照列編

SharePoint運用Tips:選択肢・参照列の一覧を更新・削除したらどうなる? 参照列編
小刀稱知哉

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

SharePointリストでデータを保存する際、選択肢列参照列を用いることは多いと思います。

そして、SharePointリストを運用していくと、選択肢・参照列の一覧項目を変更したい場合があるのではないでしょうか。
(具体的には、一覧に新しい項目を追加したり、既存の項目更新・削除したい場合です。)

今回は、SharePointリストの選択肢・参照列において、一覧項目を更新・削除したい場合の挙動について調査してみました。
※新しい項目を追加する場合は、単純に一覧に項目が増えるだけなので、今回は割愛しております。

SharePointリストでデータを保存するすべての方にご覧いただきたい内容です。

また、以前「Power Apps キャンバスアプリ:選択肢列と参照(ルックアップ)列の違いについて」という内容でブログを書いたこともありますので、参考にしていただけますと幸いです。

前回のブログでは、選択肢列の挙動について調査した結果をご紹介しました。
今回は、参照列について説明していきます。

 

調査内容

はじめに、今回調査する内容について説明します。

今回使用したのは、SharePointリストの参照列です。

参照列にはリレーションシップの動作を実行するという設定項目があります。

参照列_リレーションシップの動作を実行する
参照列_リレーションシップの動作を実行する

今回は上記設定項目をオフ・制限削除・連鎖削除にした場合において、一覧項目から値を更新・削除した場合の挙動を調査いたしました。

調査内容としては、以下です。

  • 現在保存されているデータはどうなるのか?

  • 選択肢一覧はどうなるのか?

調査した結果を以下に示します。

  1. 参照列:「リレーションシップの動作を実行する」がオフの場合

  2. 「リレーションシップの動作を実行する」が「制限削除」の場合

  3. 参照列:「リレーションシップの動作を実行する」が「連鎖削除」の場合

 

参照列:「リレーションシップの動作を実行する」がオフの場合

パターン1は参照列で、リレーションシップの動作を実行するオフの場合です。

 

設定

まずは、SharePointリストでマスタとなるリストを作成しました。
項目としては、マスタ1~3を設定しています。

参照列:保存されているデータ(マスタ)
参照列:保存されているデータ(マスタ)

続いて、SharePointリストに参照列を追加し、先程のマスタリストを参照先に設定しました。
また、リレーションシップの動作を実行するオフに設定しています。

具体的な設定値としては、以下です。

参照列:リレーションシップの動作を実行するがオフ
参照列:リレーションシップの動作を実行するがオフ

また、SharePointリストにはマスタ1~3のデータが保存されています。

参照列:保存されているデータ
参照列:保存されているデータ

 

一覧項目を更新した場合

上記設定において、マスタリストのマスタ1マスタ1-1に更新しました。

参照列:リレーションシップの動作を実行するがオフ_一覧を更新
参照列:リレーションシップの動作を実行するがオフ_一覧を更新

更新した結果、SharePointリストに保存されているデータがマスタ1-1に更新されていました。 選択肢一覧については、マスタ1が消えマスタ1-1となっておりました。

参照列:リレーションシップの動作を実行するがオフ_一覧を更新_結果
参照列:リレーションシップの動作を実行するがオフ_一覧を更新_結果

 

一覧項目を削除した場合

続いて、マスタリストから「マスタ2」を削除してみました。

参照列:リレーションシップの動作を実行するがオフ_一覧から削除
参照列:リレーションシップの動作を実行するがオフ_一覧から削除

削除した結果、SharePointリストに保存されているデータは空白となっていました。

選択肢一覧を確認すると、一覧からマスタ2が消えていました。

参照列:リレーションシップの動作を実行するがオフ_一覧から削除_結果
参照列:リレーションシップの動作を実行するがオフ_一覧から削除_結果/figcaption>

 

参照列:「リレーションシップの動作を実行する」が「制限削除」の場合

パターン2は参照列で、、リレーションシップの動作を実行する制限削除の場合です。

 

設定

まずは、SharePointリストでマスタとなるリストを作成しました。
項目としては、マスタ1~3を設定しています。

照列:保存されているデータ(マスタ)
参照列:保存されているデータ(マスタ)

続いて、SharePointリストに参照列を追加し、先程のマスタリストを参照先に設定しました。
また、リレーションシップの動作を実行する制限削除に設定しています。

具体的な設定値としては、以下です。

参照列:リレーションシップの動作を実行するが制限削除
参照列:リレーションシップの動作を実行するが制限削除

また、SharePointリストにはマスタ1~3のデータが保存されています。

照列:保存されているデータ
照列:保存されているデータ

 

一覧項目を更新した場合

上記設定において、マスタリストの「マスタ1」を「マスタ1-1」に更新しました。

参照列:リレーションシップの動作を実行するが制限削除_一覧を更新
参照列:リレーションシップの動作を実行するが制限削除_一覧を更新

更新した結果、SharePointリストに保存されているデータがマスタ1-1に更新されていました。

選択肢一覧については、マスタ1が消えマスタ1-1となっておりました。

参照列:リレーションシップの動作を実行するが制限削除_一覧を更新_結果
参照列:リレーションシップの動作を実行するが制限削除_一覧を更新_結果

 

一覧項目を削除した場合

続いて、マスタリストから「マスタ2」を削除を試みました。
その結果、エラー画面が表示され、削除できませんでした。

参照列:リレーションシップの動作を実行するが制限削除_一覧を更新_一覧から削除
参照列:リレーションシップの動作を実行するが制限削除_一覧を更新_一覧から削除

また、SPリストに保存されている「マスタ2」のデータを削除した後、マスタリストから「マスタ2」を削除すると、無事削除できました。

 

参照列:「リレーションシップの動作を実行する」が「連鎖削除」の場合

パターン3は参照列で、リレーションシップの動作を実行する連鎖削除の場合です。

 

設定

まずは、SharePointリストでマスタとなるリストを作成しました。
項目としては、マスタ1~3を設定しています。

参照列:保存されているデータ(マスタ)
参照列:保存されているデータ(マスタ)

続いて、SharePointリストに参照列を追加し、先程のマスタリストを参照先に設定しました。
また、「リレーションシップの動作を実行する」を「連鎖削除」に設定しています。

具体的な設定値としては、以下です。

参照列:リレーションシップの動作を実行するが連鎖削除
参照列:リレーションシップの動作を実行するが連鎖削除

また、SharePointリストにはマスタ1~3のデータが保存されています。

参照列:保存されているデータ
参照列:保存されているデータ

 

一覧項目を更新した場合

上記設定において、マスタリストのマスタ1マスタ1-1に更新しました。

参照列:リレーションシップの動作を実行するが連鎖削除_一覧を更新
参照列:リレーションシップの動作を実行するが連鎖削除_一覧を更新

更新した結果、SharePointリストに保存されているデータがマスタ1-1に更新されていました。

選択肢一覧については、マスタ1が消えマスタ1-1となっておりました。

参照列:リレーションシップの動作を実行するが連鎖削除_一覧を更新_結果
参照列:リレーションシップの動作を実行するが連鎖削除_一覧を更新_結果

 

一覧項目を削除した場合

続いて、マスタリストから「マスタ2」を削除してみました。

参照列:リレーションシップの動作を実行するが連鎖削除_一覧から削除
参照列:リレーションシップの動作を実行するが連鎖削除_一覧から削除

削除した結果、SharePointリストから該当のデータが削除されていました。

選択肢一覧を確認すると、一覧からマスタ2が消えていました。

参照列:リレーションシップの動作を実行するが連鎖削除_一覧から削除_結果
参照列:リレーションシップの動作を実行するが連鎖削除_一覧から削除_結果

 

まとめ

上記までの情報を以下にまとめました。

リレーションシップの動作を実行する

一覧項目を更新

一覧項目から削除

オフ

  • SPリストに保存されているデータは、項目が更新されている

  • 選択肢一覧は、項目が更新されている

  • SPリストに保存されていたデータは、空白となっている

  • 選択肢一覧から削除されている

制限削除

  • SPリストに保存されているデータは、項目が更新されている

  • 選択肢一覧は、項目が更新されている

  • マスタの削除ができない
    ※ただし、参照する側のリストから対象の選択肢項目を削除すると、マスタ側の削除も可能

連鎖削除

  • SPリストに保存されているデータは、項目が更新されている

  • 選択肢一覧は、項目が更新されている

  • SPリストに保存されていたデータは、削除されている

  • 選択肢一覧から削除されている

すべての場合において、マスタ側の項目を更新すると、参照する側のリストも更新されていました。

一方削除の場合には、各パターンにおいて挙動が異なりました。

  • 【リレーションシップの動作を実行するがオフの場合】
    マスタ側が削除されると、参照する側のリストが空白となる挙動でした。

  • 【制限削除の場合】
    参照する側のリストの中に対象の選択肢項目が保存されている場合は、マスタ側の削除ができないという挙動でした。

  • 【連鎖削除の場合】
    マスタ側が削除されると、参照する側のリストの該当データが削除されるという挙動でした。

運用する上で一番安全なのは「制限削除」ではないかと思います。

(他パターンの場合には、参照する側のリストが空白となったり、データが削除されるため、管理者側が予想していないデータとなっている可能性があるため)

上記挙動をご確認いただき、皆様の環境に応じて設定してみてください。

 

おわりに

今回は、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
ページトップに戻る