Redashでのクエリとダッシュボード作成時のハマりポイント
本記事は2024年12月09日に執筆したものです。所属会社のTech Blogプラットフォーム移行に伴い、当該記事を他プラットフォームから移行しました。
はじめに
Gakken LEAPのmizunoです。
当プロジェクトではBIツールとしてRedashを採用しており、データの可視化を行っています。
今回は、クエリやダッシュボードの作成時に直面した課題やその解決方法を共有したいと思います。
はまってしまった話
文字列検索のシングルクォーテーション問題
Redashでは、{{}}で囲んだ部分をパラメータとして利用できます。
ただし、文字列検索においては、クエリ中のパラメータをシングルクォーテーションで囲む必要があります。これを忘れると検索が正常に動作しません。
-
シングルクォーテーションを囲んでいない場合(検索が失敗)

-
シングルクォーテーションで囲んだ場合(検索が成功)

Redashでは、パラメータとして渡された値にシングルクォーテーションを自動補完してくれない仕様です。そのため、文字列検索の場合は、'{{hoge}}'のようにクエリ内で手動で囲む必要があります。
ダッシュボードでの検索パラメータが統一される問題
クエリを作成後、ダッシュボードでウィジェットとして追加して使用することができます。しかし、この際、検索パラメータがすべてのウィジェットで共通化されてしまい、個別の検索ができないという問題が発生しました。
解決方法
ウィジェットを追加する際、Parameters欄でValue Sourceの設定を変更できます。
-
共通のパラメータを使用する設定(変更せずにそのまま追加)

-
個別のパラメータを使用する設定(
Widget parameterを選択)

この設定により、各ウィジェットごとに異なる検索パラメータを使用できるようになります。
グラフ表示やテーブル表示を複数組み合わせて利用する場合、この方法で検索パラメータの競合を防ぐことができました。
まとめ
Redashを使用してクエリやダッシュボードを作成する際、以下の2つのポイントに注意が必要です。
-
文字列検索のシングルクォーテーション
- クエリ内でパラメータを利用する際、文字列検索の場合はシングルクォーテーションでパラメータを囲む必要があります。
- シングルクォーテーションがないと検索が正しく動作しません。
-
ダッシュボードでの検索パラメータの統一問題
- ダッシュボードにウィジェットを追加する際、
ParametersのValue SourceをWidget parameterに設定することで、各ウィジェットで個別の検索が可能になります。
- ダッシュボードにウィジェットを追加する際、
エンジニア募集
Gakken LEAPでは、教育のアップデートに取り組むエンジニアを絶賛募集中です!
ぜひお気軽にカジュアル面談にお越しください!
Ed-Tech事業の開発及びコンサルティング業務 / 学研グループ各社およびグループ外企業のIT事業・サービスに関する企画、開発、導入支援、運用並びにそれらに関するコンサルティング / ベンチャー企業・ベンチャーキャピタルに対する投資と養成、を行なっている会社です。 gakken-leap.co.jp/
Discussion