
Grafanaで変換テーブルを使ってIDをメッセージに変換する
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
こんにちは。CX事業本部Delivery部のakkyです。
Grafanaでデータベースから情報を取得してきて表パネルに表示する場合、コード番号と文字列を対応させて変換したい場合があると思います。 たとえば、コード番号=1なら、同じ行に1に対応した文字列である「正常」を表示したい、ということですね。
データソースが通常のRDBであれば、単純にクエリにSQLを書き変換テーブルとJOINすれば済む話なのですが、GrafanaではSQLが使えないデータソースからもデータを取得することができます。 この場合は、Grafana自体で同様にデータを結合して表示することができます。
今回は、GrafanaでIDを文字列に変換する方法をご紹介します。
検証環境
Amazon Managed Grafana v8.4.7
データの用意
データソースには、実験用に元データと変換用テーブルの両方にTest Data DBのCSV Contentを使用します。
それぞれ、以下のようにしました。項目名で突合しますので、今回は「ID」という項目名は共通にしておきます。
元データ
発生日,ID 2023-1-2,1 2023-1-3,3 2023-1-3,2 2023-1-4,1
変換テーブル
ID,エラーメッセージ 1,正常 2,エラーA 3,エラーB 4,エラーC
データの結合方法
Transformタブへ移動し、MergeとFilter data by valuesを選択します。
Filter data by valuesでは、Filter typeをInclude、ConditionsをMatch all、Fieldで元データの項目名を一つ(今回の例では発生日)、MatchをIs not nullとすれば完成です。

以下のように、2つの表を結合して表示することができました!

なお、Filter data by valuesが必要な理由は、Mergeでは元データと変換テーブルが外部結合されるため、これを付けないと元データに含まれないIDが表示されてしまうためです。










