キントーン複数アプリ間レコードを定時集計
kintoneでできないことがたくさんあります
その1つがアプリ間集計です
Aアプリの情報を参照するには
- ルックアップ
- 関連レコード
- アプリアクション
などの機能がありますが、例えばAアプリが商品管理をしている場合、
先月の〇〇という製品の販売数をBアプリに値を登録したい場合、どの様な方法が思いつくでしょう?(標準機能)
今回は、標準機能では少し実現が難しいアプリ間集計をkintone連携サービスを使って実現し、会社全体の情報を集約したサイトを構築するまでの流れを説明したいと思います
集計はできるが、その集計した値を活用する場合に難あり
例えば受注管理をkintoneでするとしましょう
申し込み数を月毎にグラフにすることはさほど難しくありませんが、月毎の集計値を別のアプリに登録したい場合は
- 手打ち
- CSVで書き出して、別アプリに読み込み
どちらも定時や自動ではないですよね?
できないことを実現するのがkintone連携サービス
kintone連携サービスを使えば、アプリ間集計が可能となりますが、kintone連携サービスの種類が多く、実現したい内容に合ったkintone連携サービスを選択することが重要となります
- データコレクト
- krewData
- Customine
各kintone連携サービスの特徴と、コストを見ながら検討・・・相談していただいてもOKですよ。各連携サービス取り扱っていますよ(複業先がw)
さて、今回はデータコレクトを使って複数アプリの集計と、集計を定時で実行するように設定してみましょう。そしてその情報を見やすい情報サイトにする
固定費用と準備するkintoneアプリ
今回は架空ケースとしてこんな背景をイメージしてアプリを作ってみました
開発費別で、サービス費用がおいくら?
定時集計の場合
サービス名 | プラン | 契約数 | 金額(年額) |
kintone | スタンダード | 20 | 352,800 |
データコレクト | スタンダード | 1 | 285,000 |
kViewer | プロフェッショナル | 1 | 273,600 |
年額 911,400 月額 75,950 |
リアルタイム集計の場合
サービス名 | プラン | 契約数 | 金額(年額) |
kintone | スタンダード | 20 | 352,800 |
データコレクト | プレミアム | 1 | 570,000 |
kViewer | プロフェッショナル | 1 | 273,600 |
年額 1,196,400 月額 99,700 |
作ったアプリのポイント
架空背景としていくつか施設を運営しているので
- A病院アプリ
- B病院アプリ
- C特別養護老人ホームアプリ
- Dデイサービスアプリ
- 集計アプリ
の5つを作成します
各アプリには本来であれば氏名や生年月日などの情報を入力しますが、今回はその辺りの設定は省かせていただきます。(今回の目的は集計と共有ですので)
ただ、各アプリの設定で重要なポイントをお伝えしますので、ここはメモですコピペですw
まず、各アプリには
- 申し込み日
- 入院日
- 退院日
など集計に必要な日付フィールドを作成しておきます
そして、月毎に集計できるように日付の値を少し変化させておきます
普通であれば、申込日を日付フィールドに入力すると2020-10-01 という値になります。この値を文字列1行の自動計算機能を使って、202011と年月だけの情報に変化させます
DATE_FORMAT(申込日, “YYYYMM”, “Asia/Tokyo”)
ってことですw
あと、データコレクトでSUMIF関数を使うんでカウントする値が欲しいので各施設のアプリには人数って数値フィールドを作っておきます。初期値は1にしておきます。
これは在庫管理の時も同じですね。イメージがしやすいので作っておくと便利ですよ
データコレクト設定
さて、データコレクトで定時集計をするにはスタンダードプランの契約が必要です
スタンダードプランでは、レコード一覧でのフィールド式実行も可能ですので、定時以外でも手動で一括集計が可能となります
データコレクトを利用するならライトはお勧めできません
今回デモで使えるのはライトコースなのですがwちゃんとスタンダードコースで動作確認していますのでご安心くださいw
データコレクトには集計元アプリも集計先アプリも登録が必要なので、今回は5つのアプリを登録しておきます。
APIトークンは、集計元として使う場合は閲覧権限が必要です。フィールド式を設定する場合は、閲覧権限と編集権限が必要です。
集計元アプリですることは、今回はなし
はい、今回は登録してもらうだけでOKです。
使い方によっては、絞り込み条件を設定しておくと集約するアプリのフィールド式が簡単に設定できます
集計先アプリは色々と設定が必要
集計先アプリはフィールド式を設定していきます
今回は複数の条件で集計を実行したい
AHP(集計元アプリ)のレコード(患者情報)のうち、管理アプリ(集計先アプリ)の対象年月(202011)に該当する件数を数値フィールドにセットしたい
簡単に言えば、毎月の申し込み数を別のアプリに数値としてセットしたい
今回作ったアプリの場合、申し込み数なら= SUMIFS(AHP!人数,AHP!申込年月,対象年月)入院数なら= SUMIFS(AHP!人数,AHP!入院年月,対象年月)
フィールド式の書き方については、サービス契約時に細かく書いた専用サイトで確認可能です
例えば、昨年の同月データが欲しい場合は202011に対して201911って値が入っていれば
= SUMIFS(AHP!人数,AHP!入院年月,昨年対象年月)
これで引っ張ってきれくれます。
昨年の対象年月を出す方法は色々あるので考えてみましょう!!
手動?定時?自動?
集計のタイミングについては、データコレクトの契約プランによって異なります
ライトなら手動限定、スタンダードなら手動+定時、プレミアムなら手動+定時+リアルタイム
注意点としては、定時も自動更新も更新対象を設定することが可能です。デフォルトは最新のレコードなので、必要に応じて更新対象レコードを絞り込み条件で指定する必要があります(昨年以降のレコードとかね)
ここまでで、集計は可能となりました。集計のイメージは最後にYouTubeのリンク貼っておきますので、そちらでご確認ください。
次に、見た目ですね。集計した情報をkViewerのダッシュボードと高度なグラフを使って見やすくしてみましょう
kViewer設定
基本的にはkViewerのダッシュボード機能と高度なグラフ機能を使ってます
これは実際に見てもらった方が分かりやすいので、ダッシュボードのリンクを貼っておきます(デモデータを作るのに力尽きて、どの施設も同じようなデータとなっていますw)
複数の施設の情報を確認したい場合、各施設のダッシュボードのリンクを貼っておけば、行き来しやすいと思いますね