技術情報ブログ
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年生まれ

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

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エラー通知更新日AISharePointEF 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パイプラインカレンダー完全削除接続添付ファイルコントロール
PageTop
ページトップに戻る