MENU

SharePointリストのレコード集計

SharePointリストは リスト設定 > 任意のビュー > 集計 で、データの個数や合計などを求めることができますが、5000件までという制限があります。
1つのビューが5000件に収まるようにフィルター設定できれば問題ないですが、超過するかは分かりませんよね。

5000件を超える場合はAutomateで対処できそうでしたので、フローを組んでみました。

目次

フロー

フロー詳細

トリガーは割愛します(*- -)(*_ _)

変数の初期化

変数 で検索かけるとヒットします

名前:カウント
タイプ:整数
値:空欄

後ほどカウントした数をここに設定するイメージです

複数の項目の取得

複数の項目の取得 を設定します

サイトアドレスやリスト名は任意のものに置き換えてください

フィルタークエリを書かないと警告が出ます
そのままでも良いんですが、毎回気になってしまうので、私は以下のように書いています

ID ne null

システムIDが入ってるよ、という意味のフィルタークエリです。

IDはデータがあると必ず振られる自動採番のものなので、実質これで全データだと読み替えられます。

これが今回は重要なポイントですね

設定のタブで「改ページ」をオンにし、しきい値を「100000」とします。

この設定を行わないと、デフォルトで100件までしかデータを取得してくれません。

また、しきい値は「100000」が上限です。
(契約にもよると思いますが)
10万を超えるデータの場合は別対応が必要になりますが、ひとまず5000件問題は解決します。

変数の設定

続いて、レコード数をカウントするための式を入れ、最初に初期化していた変数に格納します。

式は以下の通り

length(outputs('複数の項目の取得')?['body/value'])

※「変数の初期化」と「変数の設定」を削除してデータ操作の「作成」を1つ作る、でも良いかと思いますが、フロー譲渡すること考えるとこちらの方が良いんですよね(-_-;)

チャットまたはチャネルでメッセージを投稿する

最後に、集めたデータを投稿するなり何かするなりご自由に^^

ここではDチームとして報告する感じで設定しています。

ちなみに、約6000件近くあるリストをカウントさせると、メッセージが投稿されてくるまで1分30秒ほどかかりました。
リアルタイム性を求めるカウントには向きませんね。
何かデータ的にカウントしておく、みたいな、表示さえできていればリアルタイム性は求めませんという内容でしたら良いかも。

広告

目次