概要
SharePointのリストで集計値列をグループ化する際、数式の内容や設定によってはグループを展開しても、いつまでたっても内容が表示されないことがあります。
仮に、数式を「=YEAR(日付列)」としたところ、下図のように表示されない事象が発生しました。
これは、数式から返されるデータの形式と、「この式から返されるデータの種類」が一致しないことが原因で発生します。
詳細
「集計値」列は数式で動的な値を表示できるため大変便利なのですが、数式から返される値の形式と「この式から返されるデータの種類」を一致させる必要があります。
これをせずに「集計値」列をグループ化した場合、グループを展開しても読み込み中の表示(ぐるぐるマーク)がされたまま、いつまでまっても内容が表示されない事象が発生します。
上図の場合、「集計値」列の数式を「=YEAR(日付列)」、「この式から返されるデータの種類」を「1行テキスト」にしたところ発生しました。
「=YEAR(日付列)」は日付に対応する年を整数で返すため、「この式から返されるデータの種類」を「数値」、「通貨」もしくは「日付と時刻」にすると問題なく表示されるようになります。
ただ、桁区切りや通貨記号が表示されてしまいますので、現実的な方法ではないです。「日付や時刻」を選択した場合は、「2023」をシリアル値として日付に変換しますので、「1905/07/15」と表示されてしまいます。
「1行テキスト」を利用するには、数式で文字列を返すようにすればいいので、今回の例であれば「=TEXT(日付列,”yyyy”)」を数式に入力し、「この式から返されるデータの種類」を「1行テキスト」にすると、意図した状態で表示されるようになります。
ちなみに、この数式のまま「この式から返されるデータの種類」を「数値」などに変更すると、同じ事象が発生します。
おわりに
SharePointで集計値をグループ化するとリストが表示されない場合がある件について紹介しました。プログラミングをしていたら基本ではありますが、データの種類をあわせないと意図した動作をしません。気がつくのが遅かった場合、修正に多大な時間が必要になることもありますので、設計段階から注意するようにしましょう。