Microsoft SharePoint Serverの「集計値」列の再計算はいつされる?
Excelの数式が使えるはずなので、まずExcelの場合
セルA1に数値1が入っているとき、隣のセルを
="文字列-"&TEXT(A1,"00000#")
とすると、セルA1の1が文字列と合体されて「文字列-000001」となります。仮にA1の数値が100だった場合、「文字列-000100」となってくれて、桁数がそろった番号になってくれます。A1を書きかえると、同時にこの文字列も更新されます。
同じことをSharePoint Serverで
これと同じことがSharePoint Serverのリストでも「集計値」というタイプの列を作ることできるのですが、そのとき、私はアイテムごとに自動生成されるIDという列を基になる数値に使おうとしました。
="文字列-"&TEXT(ID,"00000#")
とすると、本来ならアイテムに付与されるIDがExcelの場合のように桁数のそろった番号になってくれるはずでした。しかし、実際に新規アイテムを作成してみると「文字列-00000」と、5個のゼロの次にIDが付いてきませんでした。これは、文字列が合体される時点でID列にまだ数値が入っていなかったからであろうと推測します。
そこでそのあと、改めてアイテムを開いて保存し直せば、すでに存在するIDの数値が文字列に合体されてくれるかな、と思うと、そうではありませんでした。一度文字列が入ってしまった集計値は、なかなか更新してもらえないようです。じつは集計値の列の数式を編集するページを開いて数式を再度保存すると、既存のアイテムの番号が再計算されてくれます。が、アイテムを作るたびにこんな方法で更新することは現実的ではありません。
過去に、自動生成のID列ではない数値の列を集計値の基にしていた場合には、数値に対する更新が集計値に反映されていたので、本当は更新される仕様になってるはずなんですけどね、、、、