2022年12月にkrewdashboardをアップデートし、「全体検索」機能を追加しました。
krewDashboardでは、データアプリのレコードを必ずすべて取得してからグラフの描画処理を行います。(グラフ単位のフィルタを設定した場合でも、必ず全てのレコードをデータアプリから取得した上で、絞り込みを行います)
全体検索機能を使用すると、データアプリから取得するレコードそのもののを絞り込むことができます。これにより、ダッシュボードの描画にかかる時間を短くしたり、APIリクエスト数をおさえた運用が可能です。
おさえておきたいポイント
krewDashboardでは、扱えるレコード数の上限値は設けておりませんが、データアプリのレコード数やフィールド数が大量である場合、kintone APIでのデータの取得に時間がかかります。
また、kintone APIで一度に取得できる最大のレコード数が500レコードのため、レコード数に応じてAPIリクエスト数が増加します。
※kintoneでは、1アプリで1日に実行できるAPIリクエスト数の上限が10,000です。(参考: kintone よくあるご質問(FAQ))
たとえば、数年運用して2万件を超えるレコードが登録されているアプリをデータアプリとしたいとします。デフォルトでは、krewDashboardを表示する度に2万レコードすべてのデータを取得します。
※この場合のAPIリクエスト数は40件(2万÷500)
全体検索で設定する条件は、krewDashboardがデータアプリから取得するレコードの条件になります。全体検索で不要なレコードを対象から外すよう設定すれば、ダッシュボードを早く表示したり、APIリクエスト数の消費を抑える運用ができるのです。
先の例でお話した数年利用した2万件以上のレコードが登録されているアプリについては、ダッシュボードで表示したいレコードが今年度だけである場合には、今年度のレコードに絞り込んで運用することができます。
全体検索機能の設定方法
- krewDashboardのデザイン画面でホームタブを開く
- 「全体検索」をクリックする
- 今年度(今年)のレコードが取得対象となるように絞り込む
その他補足
- krewDashboardにはグラフ単位で表示データを絞り込むフィルタ機能があります。
この機能は全体検索機能とは異なり、取得するデータをフィルタする機能ではなく各グラフで可視化対象としたいデータをフィルタリングするものです。全体検索機能で除外された条件はフィルタの条件として使えないので注意してください。 - これまでグラフ単位にフィルタを設定していた場合には、全体検索とグラフのフィルタを併用するとよりパフォーマンスの向上とAPIリクエスト数の低減につながります。
たとえば、全体検索機能で「今年度」のレコードのみを対象にし、個々のグラフのフィルタでは「今月」「未解決ステータス」などのように個別に条件を設定して使用します。(全体検索の条件+個々のグラフの条件に合致するレコードだけが表示されます) - 全体検索はアプリ単位に行います。今回は「今年度」のように絞り込みを行いましたが、例えば他のグラフでは数年分の結果を可視化するグラフを作成したいケースでは、数年分のレコードを取得対象としておく必要があります。
- 複数のシートが設定されている場合に、シート単位で全体検索の設定を行うことはできません。
- 他部門の情報は開示しない、特定の役職以上にだけ公開したいなど、「そもそも見せたくない情報」がある場合には、kintoneのアクセス権を設定して運用するのがベターです。
アクセス権ヘルプページ:https://docs.krew.mescius.jp/krewdashboard/#krewdashboard_permission.html