kintone BI Tool — 利用マニュアル
目次
- 概要
- 動作環境
- インストール手順
- 初回セットアップ
- データソースの設定
- グラフの作成
- ダッシュボードの作成・公開
- ダッシュボードの閲覧
- エクスポート(PNG / PDF)
- FAQ・トラブルシューティング
1. 概要
kintone BI Tool は、kintone 上で PowerBI のようにグラフ・ダッシュボードを作成・閲覧できるプラグインです。
データ取得・加工・グラフ描画はすべてブラウザ内で完結するため、追加のサーバーは不要です。
主な機能:
- 複数 kintone アプリのデータを結合(JOIN)して分析
- 棒グラフ・折れ線グラフ・円グラフ・散布図・ヒートマップ・ピボットテーブル・KPI カードなど多彩なグラフ種別
- 仮想テーブルによるデータ加工(列選択・計算列・行フィルター・重複除去)
- スライサー(日付範囲・カテゴリ・数値範囲)によるインタラクティブなフィルタリング
- ダッシュボード全体・個別グラフの PNG / PDF エクスポート
- localStorage によるデータキャッシュ(TTL 設定可)
ユーザーロール:
| ロール | できること |
|---|---|
| 管理者 | データソース定義・グラフ作成・ダッシュボード編集・公開 |
| 一般ユーザー | 公開済みダッシュボードの閲覧のみ |
2. 動作環境
- kintone(スタンダードコース以上を推奨)
- 対応ブラウザ: Google Chrome(最新版)、Microsoft Edge(最新版)
- JavaScript を有効にしてください
3. インストール手順
3.1 プラグインファイルの取得
配布された kintone-bi-tool.zip を用意します。
3.2 kintone へのアップロード
- kintone の「システム管理」→「プラグイン」を開く
- 「読み込む」をクリックし、
kintone-bi-tool.zipをアップロード - アップロードが完了するとプラグイン一覧に表示される
3.3 BIハブアプリの作成
- kintone のトップページで「+」→「アプリをはじめから作成」
- アプリ名を「BIハブ」(任意)として作成
- フィールドは追加不要(レコード一覧画面を置き換えて使用するため)
- アプリを公開する
3.4 カスタマイズビューの設定
ダッシュボードを表示するには、BIハブアプリにカスタマイズビューを設定する必要があります。
- BIハブアプリの「設定」→「一覧」を開く
- 「+」で新しい一覧を追加
- 「ビューの種類」を「カスタマイズビュー」に設定
- ビュー名を任意で入力(例: 「ダッシュボード」)
- 「HTML」欄に以下を入力する(必須):
<div id="bi-viewer-placeholder"></div> - 保存してアプリを更新する
- 作成したカスタマイズビューをデフォルトビューに設定する
3.5 プラグインのインストール
- BIハブアプリの「設定」→「プラグイン」を開く
- 「プラグインの追加」をクリック
- 一覧から「kintone BI Tool」を選択して追加
- アプリを更新する
4. 初回セットアップ
4.1 プラグイン設定画面を開く
- BIハブアプリの「設定」→「プラグイン」を開く
- 「kintone BI Tool」の「設定」をクリック
4.2 BI設定アプリの作成
プラグインを初めて設定する場合、BI設定アプリが存在しません。
- 「BI設定アプリを自動作成する」ボタンをクリック
- 自動的に kintone 上にBI設定アプリが作成されます
- 作成完了後、設定画面が表示されます
補足: BI設定アプリは、データソース・グラフ・ダッシュボードの定義を JSON として保存するための専用アプリです。手動での操作は不要です。
5. データソースの設定
設定画面の「データソース」タブで操作します。
データソース → JOIN → 仮想テーブルの順に設定するのが基本の流れです。
5.1 データソースの追加
kintone アプリ1つを「データソース」として登録します。
- 「+ データソースを追加」をクリック
- 名前を入力(例:
受注データ) - 「アプリを選択」でデータを取得する kintone アプリを選ぶ
- 使用するフィールドにチェックを入れる
- 必要に応じて kintone の絞り込み条件を入力(kintone クエリ書式)
- 例:
status = "完了" and order_date >= "2024-01-01"
- 例:
- 「保存」をクリック
ポイント: グラフやフィルターに使わないフィールドはチェックを外すと取得データが減り、パフォーマンスが向上します。
5.2 JOIN の設定
異なるアプリのデータを1つのテーブルとして扱うには JOIN を使います。
- 「+ JOIN を追加」をクリック
- 名前を入力(例:
受注+顧客) - 左テーブル・右テーブルにデータソース(または別のJOIN)を選択
- 結合するフィールド(キー列)を左右それぞれ指定
- JOIN の種別を選択:
| 種別 | 結果 |
|---|---|
| INNER | 両方のテーブルにキーが存在するレコードのみ |
| LEFT | 左テーブルのすべてのレコード+右テーブルで一致するもの |
| RIGHT | 右テーブルのすべてのレコード+左テーブルで一致するもの |
- 必要に応じてエイリアスを設定(フィールド名が重複する場合に区別できます)
- 「保存」をクリック
設定例:
左テーブル: 受注データ(フィールド: customer_code)
右テーブル: 顧客マスタ(フィールド: code)
JOIN 種別: LEFT JOIN
→ 結果: 受注データのすべての行に、一致する顧客情報を付加
補足: JOIN は入れ子にできます。JOIN の結果をさらに別の JOIN の入力として使えます(JOIN-of-JOIN)。
注意: どちらかのテーブルが 20,000 件を超える場合、パフォーマンス警告が表示されます。
5.3 仮想テーブルの設定
データソースや JOIN の結果に対して、列の絞り込み・重複除去・計算列・行フィルターを定義できます。
グラフに渡す前にデータを整形するためのステップです。
- 「+ 仮想テーブルを追加」をクリック
- 名前を入力(例:
月別売上集計用) - ソース(データソースまたはJOIN)を選択
- 各設定(下記参照)を行う
- 「保存」をクリック
DISTINCT(重複除去)
「DISTINCT ON」をオンにすると、指定したキーの組み合わせで重複するレコードを1件に絞ります。
- キーを指定しない場合: 全列の値が完全に一致する行を除去します
- キーを指定する場合: チェックを入れたフィールドの値の組み合わせで重複を除去します
設定例:
ソース: 受注データ(受注ID・顧客コード・商品コード・金額 を含む)
「DISTINCT ON」→ ON
キー: 顧客コード ✓
商品コード ✓
受注ID (チェックなし)
金額 (チェックなし)
→ 同じ顧客が同じ商品を複数回購入しているレコードが1件になる
行フィルター(WHERE)
条件に一致する行だけを残します。フィールドコードで参照できます。
- 入力欄の下に表示されているフィールド名をクリックすると、カーソル位置にフィールドコードが挿入されます
例:
amount > 10000
status == "完了"
YEAR(order_date) == 2024
amount > 1000 AND status == "完了"
(amount > 100000 OR qty > 50) AND status == "完了"
計算列
既存フィールドを使って新しい列を追加できます。
「+ 計算列を追加」をクリックし、列名と式を入力します。
例:
| 列名 | 式 | 説明 |
|---|---|---|
tax_amount | amount * 0.1 | 消費税額 |
total | amount + amount * 0.1 | 税込合計 |
year_month | CONCAT(YEAR(order_date), "/", MONTH(order_date)) | 年月文字列 |
size_label | IF(amount > 100000, "大口", "小口") | 大小分類 |
rounded_amount | ROUND(amount, -3) | 千円単位に丸め |
5.4 式の書き方(行フィルター・計算列共通)
行フィルターと計算列は同じ式エンジンを使います。
演算子
| 演算子 | 使い方 | 例 |
|---|---|---|
+ - * / | 四則演算 | price * quantity |
== != | 等値比較 | status == "完了" |
> >= < <= | 大小比較 | amount >= 10000 |
AND | 論理積(両方が真) | amount > 0 AND status == "完了" |
OR | 論理和(どちらかが真) | type == "A" OR type == "B" |
( ) | グループ化・優先順位制御 | (a > 1 OR b > 1) AND c == "ok" |
関数
| 関数 | 説明 | 例 |
|---|---|---|
CONCAT(a, b, ...) | 文字列結合 | CONCAT(last_name, " ", first_name) |
YEAR(date) | 年を取得 | YEAR(order_date) → 2024 |
MONTH(date) | 月を取得(1〜12) | MONTH(order_date) → 3 |
DAY(date) | 日を取得(1〜31) | DAY(order_date) → 15 |
IF(条件, 真の値, 偽の値) | 条件分岐 | IF(amount > 100000, "大口", "小口") |
ABS(n) | 絶対値 | ABS(profit) |
ROUND(n, 桁数) | 四捨五入。桁数は省略可(デフォルト0) | ROUND(amount, 2) |
桁数の指定(ROUND):
ROUND(amount, 2)→ 小数点以下2桁
ROUND(amount, 0)→ 整数
ROUND(amount, -3)→ 千の位で丸め(1234567 → 1235000)
複合条件の例
# 2024年の完了案件で10万円超
YEAR(order_date) == 2024 AND status == "完了" AND amount > 100000
# AまたはBカテゴリで、かつ金額が正
(category == "A" OR category == "B") AND amount > 0
# 特定の担当者が対応した大口案件
(amount > 500000 OR qty > 100) AND assignee == "山田 太郎"
6. グラフの作成
設定画面の「グラフ」タブで操作します。
6.1 グラフの追加
- 「+ グラフを追加」をクリック
- グラフ名を入力(例:
月別売上棒グラフ) - グラフ種別を選択
- データソース(仮想テーブル・JOIN・データソースのいずれか)を選択
- ディメンション・メジャーを設定(下記参照)
- 設定パネル下部のプレビューで表示を確認
- 「保存」をクリック
6.2 グラフ種別とディメンション・メジャーの設定
グラフ種別ごとに設定できるディメンション数・メジャー数・ロールが異なります。
| グラフ種別 | ディメンション | メジャー | 説明 |
|---|---|---|---|
| 棒グラフ | 最大2つ | 無制限 | X軸カテゴリ+色分け(系列)で積み上げ・グループ棒グラフも可 |
| 折れ線グラフ | 最大2つ | 無制限 | X軸(時系列等)+色分けで複数ライン |
| 面グラフ | 最大2つ | 無制限 | 折れ線+塗りつぶし。積み上げ面グラフにも対応 |
| 円グラフ | 1つ | 1つ | 構成比を確認。凡例クリックで項目の表示/非表示 |
| ドーナツグラフ | 1つ | 1つ | 円グラフの中心が空洞 |
| 散布図 | 最大2つ | 1つ | X軸・Y軸に数値フィールドを指定 |
| バブルチャート | 最大2つ | 最大2つ | 散布図+バブルサイズで3変数 |
| ヒートマップ | 2つ(x・y) | 1つ | 2軸×値の密度・強度 |
| 表(フラット) | 無制限 | なし | レコード一覧。ソート・ページング対応 |
| ピボットテーブル | 無制限(row・column) | 無制限 | 行・列クロス集計。複数メジャー対応 |
| KPI カード | なし | 最大2つ | 単一集計値の大きな数字表示 |
6.3 ディメンションのロール
ディメンションには「ロール」を指定して、グラフ上での役割を決めます。
| ロール | 対応グラフ | 使い方 |
|---|---|---|
x(X軸) | 棒・折れ線・面・散布図・バブル | 横軸のカテゴリや時間軸 |
color(系列・色分け) | 棒・折れ線・面・散布図・バブル | このフィールドの値ごとに色を分ける |
y(Y軸) | ヒートマップ | 縦軸のカテゴリ |
row(行軸) | ピボットテーブル | 行ヘッダーになるフィールド |
column(列軸) | ピボットテーブル | 列ヘッダーになるフィールド |
棒グラフの設定例
月別・商品カテゴリ別の売上積み上げ棒グラフ:
ディメンション1: year_month(ロール: x)
ディメンション2: category(ロール: color)
メジャー: amount(集計: SUM)
→ X軸が年月、各カテゴリが色分けされた積み上げ棒グラフになります
シンプルな月別売上棒グラフ(系列なし):
ディメンション1: year_month(ロール: x)
メジャー: amount(集計: SUM)
折れ線グラフの設定例
担当者別の月次売上推移:
ディメンション1: order_month(ロール: x)
ディメンション2: assignee(ロール: color)
メジャー: amount(集計: SUM)
→ 担当者ごとに色分けされた複数ラインが表示されます
ヒートマップの設定例
曜日×時間帯の問い合わせ件数:
ディメンション1: weekday(ロール: x)
ディメンション2: hour(ロール: y)
メジャー: count(集計: COUNT)
ピボットテーブルの設定例
地域×商品カテゴリの売上クロス集計(複数メジャー):
ディメンション1: region(ロール: row)
ディメンション2: category(ロール: column)
メジャー1: amount(集計: SUM、ラベル: 売上合計)
メジャー2: qty(集計: SUM、ラベル: 数量合計)
→ 列ヘッダーが「カテゴリ値 × メジャー名」の2段になります
KPI カードの設定例
月次目標達成率:
メジャー1: amount(集計: SUM、ラベル: 当月売上)
メジャー2: target(集計: MAX、ラベル: 目標値)
6.4 メジャーの集計関数
| 関数 | 内容 |
|---|---|
| SUM | 合計 |
| COUNT | 件数(NULL を含む全レコード数) |
| AVG | 平均 |
| MIN | 最小値 |
| MAX | 最大値 |
| COUNTD | 重複除外件数(ユニーク数) |
6.5 グラフプレビュー
グラフ設定画面の下部に、実際のデータを使ったプレビューが表示されます。
ディメンション・メジャーを変更するたびにリアルタイムで更新されます。
- 棒・折れ線・面・散布図・バブル・ヒートマップ・円・ドーナツ: ECharts でグラフ描画
- ピボットテーブル: クロス集計テーブルで表示
- 表(フラット): レコード一覧で表示
- KPI カード: KPI カードのデザインで表示
7. ダッシュボードの作成・公開
設定画面の「ダッシュボード」タブで操作します。
7.1 ダッシュボードの作成
- 「+ ダッシュボードを追加」をクリック
- ダッシュボード名・説明を入力
- テーマ(ライト / ダーク)を選択
- 「保存」をクリック
7.2 ウィジェットの追加
- ダッシュボードを選択して「編集」をクリック
- 「+ ウィジェットを追加」でグラフを選択
- グリッド上にウィジェットが配置される
- ウィジェット行の「↑」「↓」ボタンで表示順を変更
- 列(col)・幅(span)・行(row)・高さ(h)で配置をカスタマイズ
グリッドの考え方:
12カラム CSS Grid を使用しています。
| 設定 | 意味 |
|---|---|
| col | 左から何列目に配置するか(1〜12) |
| span | 横に何列分占有するか(1〜12) |
| row | 上から何行目に配置するか |
| h | 縦に何行分の高さにするか |
設定例:
左半分に棒グラフ: col=1, span=6
右半分に円グラフ: col=7, span=6
全幅でピボット: col=1, span=12
7.3 スライサーの追加
スライサーはダッシュボード全体のフィルターです。複数のグラフに同時に適用されます。
- 「+ スライサーを追加」をクリック
- スライサーの種別を選択:
| 種別 | 使い方 |
|---|---|
| 日付範囲 | 開始日〜終了日を指定してフィルタリング |
| カテゴリ(単一選択) | ドロップダウンで1つの値を選択 |
| カテゴリ(複数選択) | チェックボックスで複数の値を選択 |
| 数値範囲 | スライダーまたは入力欄で数値の範囲を指定 |
- フィルター対象のデータソースとフィールドを指定
- グリッド上に配置する
7.4 ダッシュボードの公開
「公開」ボタンをクリックすると一般ユーザーが閲覧できるようになります。
「公開停止」で管理者のみ参照の状態に戻せます。
7.5 自動更新間隔の設定
「設定」タブ→「自動更新」でキャッシュの更新間隔を設定できます。
| 設定値 | 内容 |
|---|---|
| OFF | 手動更新のみ |
| 5分 | 5分ごとに再取得 |
| 30分(デフォルト) | 30分ごとに再取得 |
| 1時間 / 6時間 / 24時間 | それぞれの間隔で再取得 |
8. ダッシュボードの閲覧
8.1 ダッシュボード一覧
BIハブアプリを開くと、公開済みのダッシュボード一覧が表示されます。
見たいダッシュボードをクリックしてください。
8.2 スライサーによる絞り込み
ダッシュボード上のスライサーを操作すると、同一ダッシュボード内のすべてのグラフに即時反映されます。
追加のAPI通信は発生しません(キャッシュ済みデータをブラウザ内で再集計します)。
8.3 グラフ個別フィルター
グラフ右上の「▽」アイコンをクリックすると、そのグラフ専用のフィルターパネルが開きます。
条件を追加して「適用」をクリックすると絞り込みが反映されます。
フィルターはページを閉じるとリセットされます。
8.4 フルスクリーン表示
ダッシュボード右上のフルスクリーンボタン(⛶)をクリックすると、ダッシュボードを全画面表示できます。
Esc キーまたは同ボタンで通常表示に戻ります。
8.5 データの手動更新
グラフ右上のメニュー(⋮)→「データを更新」をクリックすると、キャッシュをクリアして最新データを再取得します。
8.6 ブックマーク
特定のダッシュボードのURLは直接ブックマークできます:
https://your-domain.cybozu.com/k/{アプリID}/#dashboard/{ダッシュボードID}
9. エクスポート(PNG / PDF)
9.1 グラフ単体のエクスポート
グラフ右上のメニュー(⋮)から:
- 「PNG で保存」: グラフ画像をダウンロード
- 「PDF で保存」: グラフを1ページの PDF でダウンロード
9.2 ダッシュボード全体のエクスポート
ダッシュボードツールバーの「エクスポート」ボタンから:
- 「PNG でエクスポート」: ダッシュボード全体の画像をダウンロード
- 「PDF でエクスポート」: ダッシュボード全体を PDF でダウンロード
注意: エクスポート中はアニメーションが一時停止します。大きなダッシュボードはエクスポートに数秒かかる場合があります。
10. FAQ・トラブルシューティング
Q. ダッシュボードが表示されない
- BIハブアプリに「カスタマイズビュー」が設定されているか確認してください
- カスタマイズビューがデフォルトビューになっているか確認してください
- カスタマイズビューのHTMLに
<div id="bi-viewer-placeholder"></div>が含まれているか確認してください - プラグインがBIハブアプリにインストールされているか確認してください
Q. グラフに「権限エラー」と表示される
- グラフで使用しているデータソースアプリへのアクセス権限がないユーザーでアクセスしています
- アプリの権限設定を確認してください
Q. データが古い
- グラフ右上のメニュー(⋮)→「データを更新」をクリックしてください
- または自動更新間隔を短く設定してください
Q. 大量データで動作が遅い
- データソースに絞り込み条件(フィルター)を設定して取得件数を減らしてください
- JOIN を使用する場合、どちらかのテーブルを 20,000 件以下に絞ることを推奨します
- キャッシュ(TTL: 1時間以上)を活用してAPI呼び出し回数を減らしてください
- 仮想テーブルの行フィルターで不要なレコードを除外してください
Q. エクスポートした画像が崩れる
- グラフの描画が完了してからエクスポートしてください(ローディング中はエクスポート不可)
- ブラウザをGoogle Chrome最新版に更新してください
Q. 仮想テーブルの行フィルターで AND / OR を使いたい
AND/ORキーワード(大文字・小文字どちらでも可)を使って複合条件を書けます- 例:
amount > 10000 AND status == "完了" - 例:
(type == "A" OR type == "B") AND amount > 0
Q. DISTINCT を使ったが期待通りに重複が除去されない
- DISTINCT ON をオンにした状態で「重複除去キー」フィールドにチェックが入っているか確認してください
- キーにチェックを入れない場合は全列一致で除去されます
- 意図するキーフィールドにチェックを入れ、それ以外は外してください
Q. ピボットテーブルに複数メジャーを設定したい
- ピボットテーブルはメジャーを複数設定できます
- 複数設定すると列ヘッダーが2段(列の値 × メジャー名)になります
- 合計値は各メジャーごとに正しく計算されます(avg の場合も元データから再集計)
Q. グラフにディメンションを追加しようとしたらボタンが押せない
- グラフ種別によりディメンションの最大数が決まっています
- 例: 円グラフ・ドーナツグラフはディメンション1つ・メジャー1つのみ
- 例: 棒・折れ線・面・散布図・バブルはディメンション最大2つ
- 既存のディメンションを削除してから追加するか、グラフ種別を変更してください
