Grafanaの積み上げグラフ(タグ別、ステータス別など)の設定方法
はじめに
業務でBIツールのSQLをRedashからGrafanaに移行したときにそれぞれの設定の違いでかなりつまづいたため、その時に調べた内容を備忘録として残そうと思います。
設定方法
積み上げグラフ(タグ別、ステータス別など)の設定方法
結論から言うとGrafana8時点では動的にグループ化して表示できないようで、redashに比べると設定箇所が分かれていて個人的には分かりづらかったです。
また、pluginは更新がされておらずGrafana6までしか対応している様子がないため、実装しない方が良さそうです。。。
Transformでgroupをカラムに変換後、棒グラフで表示
Chart Type: Bar chart
Transform
Grouping to matrix
Column: status
Row: date
Cell Value: uu
Convert field type
Field: date\status
as: Time
All
Bar chart
Stacking: Normal
Transformでgroupをカラムに変換後、Areaグラフで表示
Chart Type: Time series
Transform
Grouping to matrix
Column: status
Row: date
Cell Value: uu
Convert field type
Field: date\status
as: Time
All
Graph styles
Fill opacity: 80
Stack series: Normal
さいごに
BIツールは他にもさまざまありますが、RedashやGrafanaはそれぞれの便利な機能や共通していない箇所が沢山ありますので、状況や目的に応じて使い分けすることが移行していて大切だととても感じました。
両方とも普段触る機会があまりないツールだとは思いますので、この記事がみなさんの調査時間の短縮に少しでも貢献できれば幸いです!
参考サイト
-
時系列データからの積み上げ棒グラフ(未解決)
https://community.grafana.com/t/stacked-bar-graph-from-timeseries-data/58966 -
積み上げ棒グラフ代替案(フィールド分割での対応)
https://docs.timescale.com/timescaledb/latest/tutorials/grafana/visualizations/bar-chart/ -
積み上げグラフの実装プラグイン(Grafana 4,5,6のみ)
https://github.com/nikolayilyin/grafana-plotly-panel -
非時系列データに積み上げ棒グラフを使用する方法(group to matrixで変換する方法を紹介)
https://community.grafana.com/t/is-there-a-way-to-use-a-stacked-bar-chart-for-non-time-series-data/21360Change “time series” to “table” in the query editor. Then go to transform and choose “group to matrix”
-
積み上げグラフについて(Grafana8時点では動的にグループ化して表示できないと結論付けている)
https://www.neteye-blog.com/2022/11/creating-compelling-stacked-bar-charts-with-grafana/As you can see, these stacked diagrams cannot however display a dynamic grouping of the results, as is possible with Excel Pivot tables or with SQL GROUP-BY statements – in this case we would expect a group for every different year in the result set. If you want to display the data of several years or of several states, you need to hard-code a query (Grafana 7) or a result row (Grafana 8) for every year!
Discussion