SharePointリストの進化形と言われる「Microsoft Lists」は、ルックアップ列(参照列)を使用し、簡易的なリレーションシップが可能です。
今回は、マスターデータと履歴データのような1対多のリレーションシップが「Microsoft Lists」でどのように実現できるかを調べた備忘録です。
内容:
ルックアップ列(参照列)の基本について
Microsoft Listsのルックアップ列(参照列)の基本は次のとおりで、他のリストへのリンクを作成可能で、簡易的なリレーションシップが可能です。
ただし、使用できる列の種類は限られており、ExcelのVLOOK関数等や、Accessのクエリやレポートで、他のリストを参照するイメージとは異なります。
マスターデータと履歴データでの構築例
1件のマスタデータに対して複数の履歴データを管理する場面を想定した場合、マスターデータから履歴データを参照すると次のようなアウトプットは可能です。
この事例は参照列を利用し、MasterData(下図の上側)で「TransactionDataのID、タイトル、区分データ」を表示し、TransactionData(下図の下側)のレコードにリンクされています。
参照列で「複数選択を許可」の設定をしているので、1件のマスタデータに対して複数の履歴データを参照をしています。
ただし、この方法の課題は「都度、他のリストへの参照設定が必要」ということです。
参照列の補足説明
参照列で「複数選択を許可」は、設定時に「その他のオプション」で設定します。
また、「その他のオプション」ではリレーションシップの参照整合性を維持するため、参照した「ソースリスト」について
- ソースアイテムは削除できません
- ソースアイテムを削除すると、このリストの値が削除されます
の設定も可能となっています。
なお、上記の「参照列で「複数選択を許可」の設定画面」のとおり、「複数選択を許可」を「はい」(有効)にすると、このオプションは無効となります。
データ入力時のイメージ
データ入力時、参照列で「複数選択を許可」の設定している場合、下図のように選択肢をクリックして追加できます。
このようにリレーションシップをしたリストを選択する必要があるので、
- ExcelのVLOOK関数等で検索文字から数式で自動表示
- Accessのクエリのようにキーでリレーション
というイメージとは異なります。
作業性を高める方法としてはPowerAutomateで自動表示するような方法やリストの工夫で一部解消することも可能です。
例えば、リレーションシップがあるデータをグループ化を利用すると次のような表示が可能です。この方法の方が利用できる場面が多いと思います。shikumika.org
以上、Microsoft Listsのルックアップ列(参照列)で1対多のリレーションシップの事でした。