Metabaseでグラフ表示されるのは2000件まで
Metabaseは、データベースからデータを抽出して、直感的なユーザーインターフェースでダッシュボードやレポートを作成できるBIツールです。また、オープンソースのため無料で利用でき、データベースを接続するだけで、すぐに使い始めることができます。
Metabaseのグラフ表示機能は、非常に強力で使いやすいのが特徴です。しかし、1つのグラフに表示できるデータの件数には上限があり、デフォルトでは2000件までとなっています。
この内容を把握しないままグラフ作成した場合、2000件を超えたデータについては、可視化されなくなるので、思わぬ勘違いが起こることがありえます。
その為、今回はメモ書きという形でブログに残します。
何故に2000件なのか?
なぜ、Metabaseのグラフ表示機能で2000件という上限が設けられているのか、その理由は大きく分けて以下の2つになります。
パフォーマンスの問題
1つ目の理由は、パフォーマンスの問題です。Metabaseのグラフ表示機能は、データベースからデータを抽出して、JavaScriptでグラフを描画します。その為、データの件数が増えるほど、グラフの描画にかかる時間も長くなります。2000件を超えると、グラフの描画に時間がかかりすぎて、ユーザーが操作にストレスを感じてしまう可能性があります。
データ可視性の問題
2つ目の理由は、データの可視性の問題です。データの件数が増えるほど、グラフの要素が多くなり、データの可視性が低下します。2000件を超えると、グラフの要素が多くなりすぎて、ユーザーがデータを把握しにくくなってしまいます。
2000件を超えるデータを可視化したい場合
Metabaseでは、2000件を超えるデータのグラフを表示したい場合は、いくつかの方法があります。
データ件数を減らす
1つ目の方法は、データの件数を減らすことです。例えば、データの期間を絞ったり、データの条件を指定したりすることで、データの件数を減らすことができます。また、時系列などのデータであれば事前に日別、週別、月別などで集計した内容を表示するなどが有効です。
グラフの表示方法を変える
2つ目の方法は、グラフの表示方法を変えることです。例えば、棒グラフや折れ線グラフではなく、ヒストグラムや散布図などのグラフを使用することで、データの件数を減らしながらも、データを可視化することができます。
まとめ
metabaseは無料で利用できるBIツールとして非常に便利です。あまり多くないデータなどを個人利用する分には強力なツールですが、業務などで利用する場合はこの手の制限を把握しておかないと要らぬ勘違いなどに発展しかねませんので、その点は注意して使う必要がありそうです。
可能であれば、可視化するデータはローデータではなく、日別や月別に事前集計して、そのデータを表示するようにする方がグラフの描画速度も上がるし、2000件という制限に収められる場合があるので、そういった対応を標準的にする方がよさそう。と感じられました。