え?kintoneってテーブル(アプリ)結合できないの?あかんやん。
他のツール使ってもいいからなんとかできないの?
という方向けの記事です。
やること
kintoneの2つのアプリ情報をまとめて一覧表示します。(標準機能ではできない)
今回はCData Excel Add-in for kintoneを使います。
CData Excel Add-in for kintoneの詳細については以下の記事を参考にしてください。
CData Software ハンズオン(Excelからkintoneのデータを取得&登録)
前提
案件管理アプリと活動履歴アプリがあり、案件と活動は1:Nで紐づきます。
- 案件管理アプリの構成
- 顧客名
- 案件名
- 費用
- 活動履歴アプリの構成
- 活動日(活動数=レコード数が取りたいので、今回の例では何でも良い)
このとき顧客ごとの案件名、費用、活動数、コスパ(費用/活動数)を一覧にします。
kintoneの準備
まずはアプリストアの営業支援パックをインストールします。
3つアプリがインストールされますが、利用するのは案件管理と活動履歴の2つです。
案件管理には10レコード、活動履歴には20レコードが登録されています。
CData Excel Add-in for kintoneの準備
以下の記事を参考にCData Excel Add-inをインストールして、接続設定まで完了させてください。
CData Software ハンズオン(Excelからkintoneのデータを取得&登録)
実行
さっそく実行しましょう。
Excelアプリケーションを起動して、空白のブックを開きます。
リボンのCDATAタブを選択し、「取得元Kintone」アイコンをクリックします。
クエリーに以下のSQLを貼り付けて、OKをクリックすると・・・
SELECT
matter.顧客名, matter.案件名, matter.合計費用,
activity.活動数, ROUND(matter.合計費用/activity.活動数) AS コスパ
FROM [CData].[Kintone].[案件管理(営業支援パック)] AS matter
INNER JOIN (
SELECT
顧客名, 案件名, COUNT(*) AS 活動数
FROM [CData].[Kintone].[活動履歴(営業支援パック)]
GROUP BY 顧客名, 案件名) AS activity
ON matter.顧客名 = activity.顧客名 AND matter.案件名 = activity.案件名
ORDER BY コスパ DESC
※過去に営業支援パックをインストールしていた方はアプリ名を変更する必要があるかもしれません。
アプリ名は「取得元Kintone」アイコンクリック後のテーブル項目を参考にしてください。
できました!
貼り付けたSQLはテーブル名だけが特殊ですが、他は通常のSQLです。これはすごい。
案件管理アプリの情報をベースに、活動履歴アプリの活動数(レコード数)、コスパ(費用/活動数)を表示しています。
まとめ
CDataを使えばRDBとしてkintoneを扱えるので2つ以上のアプリを結合することも可能です。
今回はわかりやすいように2つで紹介してみました。