コンテンツへスキップ
製品ページに戻る

kintone BI Tool — 利用マニュアル

目次

  1. 概要
  2. 動作環境
  3. インストール手順
  4. 初回セットアップ
  5. データソースの設定
  6. グラフの作成
  7. ダッシュボードの作成・公開
  8. ダッシュボードの閲覧
  9. エクスポート(PNG / PDF)
  10. 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 へのアップロード

  1. kintone の「システム管理」→「プラグイン」を開く
  2. 「読み込む」をクリックし、kintone-bi-tool.zip をアップロード
  3. アップロードが完了するとプラグイン一覧に表示される

3.3 BIハブアプリの作成

  1. kintone のトップページで「+」→「アプリをはじめから作成」
  2. アプリ名を「BIハブ」(任意)として作成
  3. フィールドは追加不要(レコード一覧画面を置き換えて使用するため)
  4. アプリを公開する

3.4 カスタマイズビューの設定

ダッシュボードを表示するには、BIハブアプリにカスタマイズビューを設定する必要があります。

  1. BIハブアプリの「設定」→「一覧」を開く
  2. 「+」で新しい一覧を追加
  3. 「ビューの種類」を「カスタマイズビュー」に設定
  4. ビュー名を任意で入力(例: 「ダッシュボード」)
  5. 「HTML」欄に以下を入力する(必須):
    <div id="bi-viewer-placeholder"></div>
    
  6. 保存してアプリを更新する
  7. 作成したカスタマイズビューをデフォルトビューに設定する

3.5 プラグインのインストール

  1. BIハブアプリの「設定」→「プラグイン」を開く
  2. 「プラグインの追加」をクリック
  3. 一覧から「kintone BI Tool」を選択して追加
  4. アプリを更新する

4. 初回セットアップ

4.1 プラグイン設定画面を開く

  1. BIハブアプリの「設定」→「プラグイン」を開く
  2. 「kintone BI Tool」の「設定」をクリック

4.2 BI設定アプリの作成

プラグインを初めて設定する場合、BI設定アプリが存在しません。

  1. 「BI設定アプリを自動作成する」ボタンをクリック
  2. 自動的に kintone 上にBI設定アプリが作成されます
  3. 作成完了後、設定画面が表示されます

補足: BI設定アプリは、データソース・グラフ・ダッシュボードの定義を JSON として保存するための専用アプリです。手動での操作は不要です。


5. データソースの設定

設定画面の「データソース」タブで操作します。
データソース → JOIN → 仮想テーブルの順に設定するのが基本の流れです。


5.1 データソースの追加

kintone アプリ1つを「データソース」として登録します。

  1. 「+ データソースを追加」をクリック
  2. 名前を入力(例: 受注データ
  3. 「アプリを選択」でデータを取得する kintone アプリを選ぶ
  4. 使用するフィールドにチェックを入れる
  5. 必要に応じて kintone の絞り込み条件を入力(kintone クエリ書式)
    • 例: status = "完了" and order_date >= "2024-01-01"
  6. 「保存」をクリック

ポイント: グラフやフィルターに使わないフィールドはチェックを外すと取得データが減り、パフォーマンスが向上します。


5.2 JOIN の設定

異なるアプリのデータを1つのテーブルとして扱うには JOIN を使います。

  1. 「+ JOIN を追加」をクリック
  2. 名前を入力(例: 受注+顧客
  3. 左テーブル右テーブルにデータソース(または別のJOIN)を選択
  4. 結合するフィールド(キー列)を左右それぞれ指定
  5. JOIN の種別を選択:
種別結果
INNER両方のテーブルにキーが存在するレコードのみ
LEFT左テーブルのすべてのレコード+右テーブルで一致するもの
RIGHT右テーブルのすべてのレコード+左テーブルで一致するもの
  1. 必要に応じてエイリアスを設定(フィールド名が重複する場合に区別できます)
  2. 「保存」をクリック

設定例:

左テーブル: 受注データ(フィールド: customer_code)
右テーブル: 顧客マスタ(フィールド: code)
JOIN 種別: LEFT JOIN
→ 結果: 受注データのすべての行に、一致する顧客情報を付加

補足: JOIN は入れ子にできます。JOIN の結果をさらに別の JOIN の入力として使えます(JOIN-of-JOIN)。

注意: どちらかのテーブルが 20,000 件を超える場合、パフォーマンス警告が表示されます。


5.3 仮想テーブルの設定

データソースや JOIN の結果に対して、列の絞り込み・重複除去・計算列・行フィルターを定義できます。
グラフに渡す前にデータを整形するためのステップです。

  1. 「+ 仮想テーブルを追加」をクリック
  2. 名前を入力(例: 月別売上集計用
  3. ソース(データソースまたはJOIN)を選択
  4. 各設定(下記参照)を行う
  5. 「保存」をクリック

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_amountamount * 0.1消費税額
totalamount + amount * 0.1税込合計
year_monthCONCAT(YEAR(order_date), "/", MONTH(order_date))年月文字列
size_labelIF(amount > 100000, "大口", "小口")大小分類
rounded_amountROUND(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 グラフの追加

  1. 「+ グラフを追加」をクリック
  2. グラフ名を入力(例: 月別売上棒グラフ
  3. グラフ種別を選択
  4. データソース(仮想テーブル・JOIN・データソースのいずれか)を選択
  5. ディメンション・メジャーを設定(下記参照)
  6. 設定パネル下部のプレビューで表示を確認
  7. 「保存」をクリック

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 ダッシュボードの作成

  1. 「+ ダッシュボードを追加」をクリック
  2. ダッシュボード名・説明を入力
  3. テーマ(ライト / ダーク)を選択
  4. 「保存」をクリック

7.2 ウィジェットの追加

  1. ダッシュボードを選択して「編集」をクリック
  2. 「+ ウィジェットを追加」でグラフを選択
  3. グリッド上にウィジェットが配置される
  4. ウィジェット行の「↑」「↓」ボタンで表示順を変更
  5. 列(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. 「+ スライサーを追加」をクリック
  2. スライサーの種別を選択:
種別使い方
日付範囲開始日〜終了日を指定してフィルタリング
カテゴリ(単一選択)ドロップダウンで1つの値を選択
カテゴリ(複数選択)チェックボックスで複数の値を選択
数値範囲スライダーまたは入力欄で数値の範囲を指定
  1. フィルター対象のデータソースとフィールドを指定
  2. グリッド上に配置する

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つ
  • 既存のディメンションを削除してから追加するか、グラフ種別を変更してください