uniface.hub

ユニフェイスの開発者ブログ


Title SharePoint Online 選択肢の列の値を参照したい
  • 2024年3月25日
  • 岡田梨絵
SharePoint Online 選択肢の列の値を参照したい

はじめに

選択肢列を参照列として表示するのに苦慮したので、その備忘録を残しておきます。

参照元リストの作成

まず、参照元のリストの作成。
これはリストでもドキュメントライブラリでもどちらでもいいですが、今回はサンプルとして品目マスタのリストを作ろうと思います。

まずはItemsという空のリストを作成します。

続いて列の追加。以下の内容の列を追加しました。

名前列の種類その他設定
Nameテキスト1行テキスト
Numberテキスト1行テキスト
Type選択肢選択肢に 材料 と 完成品 を登録

1件アイテムを追加してみます。こんな感じ。

参照先リストの作成

次に、参照先のリストの作成。
これもリストでもドキュメントライブラリでもどちらでもいいです。
今回はサンプルとして生産実績履歴のリストを作ろうと思います。

空のリストを選択して、リスト名はPoriductionResultsとしておきます。

作成する列はこんな感じ。

名前列の種類その他設定
PuroductionDate日付と時刻時間を含める=いいえ
Item参照列ItemリストのID(SPOの既定の列)
ProductionCount数値

こちらでも1件アイテムを追加してみます。
品目マスタで登録したアイテムのIDは「1」だったので、Item列には「1」を選択します。

表示する参照列の変更

とりあえず、これで参照はできました。
でもビューに表示したいのは品目マスタに登録した列の値です。

なので、列の設定のその他のオプションから「ソースリストから列を追加」で表示したい列を選択していきます。

ここに参照できる列の一覧が表示されます。
が、Type列が表示されていません。
そう、選択肢列はそのままでは参照できないのです。

ちなみに、参照できるNameとNumberの列にチェックを入れるとこんな感じ。

1行テキストは普通に参照できていますね。

選択肢列を参照で表示

さて問題は選択肢列です。
結論から言うと、参照元リストに集計値列を追加することで解決できました。

その手順がこちら。

まず参照元の品目マスタのリストに、集計値列を追加します。
ただこれは普通に追加しようとしても一覧にありません。

なので「すべての列の種類を表示」をクリックして、そこから集計値列を選択します。

列名はTypeValueとでもしておきます。

次に列の追加設定で数式を入力します。
ここには詳細な計算式も入れられますが、今回は選択肢列を参照したいだけなので、「列の挿入」カラムからTypeを数式に追加するだけでOKです。

最後に「この式から返されるデータの種類」で「1行テキスト」を選択します。

これで参照元の品目マスタの列の設定は完了です。

では参照先の生産実績履歴リストに移動し、「Item」の列の設定の「その他のオプションを見てみます。

先ほど追加したTypeValue列が追加されていますね。
チェックを入れると、きちんと参照されていることが分かります。

ただし、1行テキストとして返しているので、品目マスタのように選択肢ごとのスタイルは適用されません。
(これには列の書式設定の機能を使えば際限もできますが、それはまたどこかで……。)

さいごに

SharePoint のリストはとても便利ですが、思わす制約を食らう場所もちょこちょこあったりします。
また壁にぶつかったら戦いの記録を備忘録に残そうと思います。