SharePointリストでデータを保存する際、選択肢列や参照列を用いることは多いと思います。
そして、SharePointリストを運用していくと、選択肢・参照列の一覧項目を変更したい場合があるのではないでしょうか。
(具体的には、一覧に新しい項目を追加したり、既存の項目更新・削除したい場合です。)
今回は、SharePointリストの選択肢・参照列において、一覧項目を更新・削除したい場合の挙動について調査してみました。
※新しい項目を追加する場合は、単純に一覧に項目が増えるだけなので、今回は割愛しております。
SharePointリストでデータを保存するすべての方にご覧いただきたい内容です。
また、以前「Power Apps キャンバスアプリ:選択肢列と参照(ルックアップ)列の違いについて」という内容でブログを書いたこともありますので、参考にしていただけますと幸いです。
前回のブログでは、選択肢列の挙動について調査した結果をご紹介しました。
今回は、参照列について説明していきます。
調査内容
はじめに、今回調査する内容について説明します。
今回使用したのは、SharePointリストの参照列です。
参照列にはリレーションシップの動作を実行するという設定項目があります。
今回は上記設定項目をオフ・制限削除・連鎖削除にした場合において、一覧項目から値を更新・削除した場合の挙動を調査いたしました。
調査内容としては、以下です。
現在保存されているデータはどうなるのか?
選択肢一覧はどうなるのか?
調査した結果を以下に示します。
参照列:「リレーションシップの動作を実行する」がオフの場合
パターン1は参照列で、リレーションシップの動作を実行するがオフの場合です。
設定
まずは、SharePointリストでマスタとなるリストを作成しました。
項目としては、マスタ1~3を設定しています。
続いて、SharePointリストに参照列を追加し、先程のマスタリストを参照先に設定しました。
また、リレーションシップの動作を実行するをオフに設定しています。
具体的な設定値としては、以下です。
また、SharePointリストにはマスタ1~3のデータが保存されています。
一覧項目を更新した場合
上記設定において、マスタリストのマスタ1をマスタ1-1に更新しました。
更新した結果、SharePointリストに保存されているデータがマスタ1-1に更新されていました。 選択肢一覧については、マスタ1が消えマスタ1-1となっておりました。
一覧項目を削除した場合
続いて、マスタリストから「マスタ2」を削除してみました。
削除した結果、SharePointリストに保存されているデータは空白となっていました。
選択肢一覧を確認すると、一覧からマスタ2が消えていました。
参照列:「リレーションシップの動作を実行する」が「制限削除」の場合
パターン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が消えていました。
まとめ
上記までの情報を以下にまとめました。
リレーションシップの動作を実行する | 一覧項目を更新 | 一覧項目から削除 |
---|---|---|
オフ |
|
|
制限削除 |
|
|
連鎖削除 |
|
|
すべての場合において、マスタ側の項目を更新すると、参照する側のリストも更新されていました。
一方削除の場合には、各パターンにおいて挙動が異なりました。
【リレーションシップの動作を実行するがオフの場合】
マスタ側が削除されると、参照する側のリストが空白となる挙動でした。【制限削除の場合】
参照する側のリストの中に対象の選択肢項目が保存されている場合は、マスタ側の削除ができないという挙動でした。【連鎖削除の場合】
マスタ側が削除されると、参照する側のリストの該当データが削除されるという挙動でした。
運用する上で一番安全なのは「制限削除」ではないかと思います。
(他パターンの場合には、参照する側のリストが空白となったり、データが削除されるため、管理者側が予想していないデータとなっている可能性があるため)
上記挙動をご確認いただき、皆様の環境に応じて設定してみてください。
おわりに
今回は、SharePointリストの参照列において、一覧項目を更新・削除した場合の挙動について調査した結果をご紹介しました。
運用している中で選択肢の内容を変えたいという要望は多いと思いますので、参考にしていただけますと幸いです。
【こちらも合わせて読みたい】
地方自治体ローコード導入・運用支援サービス(Power Apps・Power Automate)
Microsoft社が提供するローコード技術であるPower Platformを用いて、自治体様のDX化を支援します。
X-SP | SharePoint デザイン・機能拡張サービス
デザイン×機能を兼ね備えたSharePointを提供いたします。
SharePointの利便性を向上し、操作性と視認性を兼ね備えたデザインでユーザーの業務効率化・ストレス低減を提供します。
内製化支援サービス | Power Platform(Power Apps・Power Automate)
Power Platform(Power Apps・Power Automate)開発や運用をスムーズに内製できるよう支援いたします。
DX人材育成プログラム | Power Apps・Power Automte 教育
Microsoft社が提供するローコード技術であるPower Platformを用いて、社内のDX化を推進するための人材を育成いたします。
Power Apps/Power Automateアプリ開発・導入支援サービス
Microsoft社が提供するPower Apps / Power Automateの導入支援として、高度なアプリも最速で作れる業務アプリ作成支援サービスを提供いたします。
SharePointモダン化コンサルティングサービス
従来のSharePoint から移行・モダン化したい方に向けて、事前調査からサイト作成・活用支援までトータルなコンサルティング・技術支援を提供いたします。
小刀稱知哉
大分県出身(温泉大好き)、現在は東京都在住
1990年生まれ
30才でメーカーの技術営業からIT業界にジョブチェンジ!!!
趣味は読書
Power Platform(SharePoint・Power Apps・Power Automate)に関する営業活動や設計、開発などを担当しております!
持ってる資格はPL-200/PL-300/PL-400/PL-600/MS-700/AZ-104/AZ-305/SC-200
こんにちは。アーティサン株式会社の小刀稱(ことね)です。