グラフの使い方

Published: 2025-07-15

このチュートリアルでは、DbGate を使って見やすく情報量の多いグラフを作成する方法を説明します。すでに DbGate でデータベースに接続しており、SQL クエリを実行するか、クエリデザイナーを使って SQL テーブルからデータを取得できることを前提とします。

DbGate Online Demo のサンプルデータベースを使うこともできます。ここでは例として、サンプルデータベース Chinook の Invoice テーブルを使用します。

タイムラインチャート

基本的なグラフの 1 つがタイムラインチャートです。X 軸に時間を取った折れ線グラフです。

次のクエリを実行すると:

SELECT InvoiceDate, Total from Invoice

DbGate は 2 つのグラフを検出します:

ヒント: グラフに必要な列だけを選択するようにしてください。自動検出は、考えられるすべての組み合わせからグラフを探すため、中には意味のないものも含まれます。次のように、すべての列を含む単純なクエリを実行すると、そのようなグラフも候補として表示されます:

ご覧のとおり、DbGate はより多くのグラフを検出しますが、そのうち実際に使えるのはおそらく 2 つだけです。

グラフのカスタマイズ

検出されたグラフの 1 つをクリックしたあと、「Customize」ボタンを使ってグラフを変更できます。主なカスタマイズ項目は次のとおりです:

  • グラフの種類
    • Bar(棒)
    • Line(折れ線)
    • Timeline - X 軸が時間の、折れ線グラフの特別なケース
    • Pie(円)
    • Polar area(ポーラーエリア)
  • X 軸フィールド
  • グループ化フィールド。グループ化は強力なグラフ機能で、後ほど説明します
  • Y 軸フィールド。Y 軸に複数のフィールドを設定でき、その場合は複数のグラフが表示されます
    • 各データセットには特別なフィールド「Count」があり、行数をカウントします
  • 集計関数 - Sum(合計)、Minimum(最小)、Maximum(最大)、Average(平均)、First Value(最初の値)、Last Value(最後の値)

グラフの設定は、SQL ファイルの先頭にあるクエリに保存されます。そのため、同じクエリを再実行すると、同じグラフが表示されます。YAML 形式の設定を直接編集することもでき、その形式に慣れていれば便利です。

グループ化

グループ化は、1 つのデータセットから複数のグラフを表示したい場合に使えます。ここでは、国別にグループ化した年間の請求合計を表示したいとします。

そのためには、結果セットに Country 列を追加する必要があります:

SELECT InvoiceDate, Total, BillingCountry from Invoice where BillingCountry in ('USA', 'Canada', 'Brazil', 'France', 'Germany')

自動検出アルゴリズムは、ここで 6 つのグラフを検出します。「Total by Invoice Date」を選び、Country でグループ化されたグラフをクリックし、「Customize」をクリックします。

次のような表示になりますが、あまり使いやすくは見えません:

ここで「Chart type」を「Bar」に、「X axis transform」を「Date (Year)」に変更すると、グラフはかなり見やすくなります。

このように、日付によるグループ化はグラフエンジン側で行うことができ、SQL であらかじめ行う必要はありません。ただし、結果が大きい場合は、もちろん SQL によるネイティブなグループ化のほうが効率的です。なぜなら、処理がデータベースサーバー上で直接行われるからです。

グループ数は 32 に制限されています。1 つのグラフにそれ以上の本数の線や棒があっても意味がないためです。この上限を超えると、グラフは表示されません。

まとめ

ここでは、DbGate のグラフ機能の基本的な使い方を紹介しました。このトピックについてのコメントは X の投稿 でお寄せください。
グラフに関する詳細情報は ドキュメント で確認できます。