ヤマムギ

growing hard days.

*

re:dashで必須でない検索条件を作りたい

   

redash-logo

re:dashで必須ではない任意検索のためのフォームを実装したい、となりましたのでとりあえずやってみました。

re:dashでパラメータを利用して検索フォームを作る

re:dashでパラメータを利用して、例えば商品マスタをIDで検索をする場合、このようにクエリーとダッシュボードを作ります。

※ダッシュボードのテキストウィジェットでフォーム作るには.env.iniに次の設定が必要です。
export REDASH_ALLOW_SCRIPTS_IN_USER_INPUT=true

クエリーのSQL

ダッシュボードに追加するウィジェット

re:dashで必須ではない検索パラメータを使う

ですが、下記のような条件で検索したい場合

・単価の幅で検索した
・入力していない場合は検索条件にしたくない

要は必須ではない任意の検索条件を設定したい場合の方法がわからなかったので、以下のようにしました。

クエリーのSQL

ダッシュボードに追加するウィジェット

単価に入力があれば単価の検索条件を1行まるごとパラメータに渡します。
入力がない場合に半角スペースをパラメータに渡しているのは、クエリーに設定されているパラメータがない場合は次のエラーが発生し実行されないためです。

Error running query: missing value for search_condition_2 parameter.

フォームのサブミットをやめてlocation.hrefにしたのは、スペースを自動変換した際に「+」に変換されてクエリー側でそのまま使用されてSQLエラーとなるためです。
そのため、先にescapeで変換したものをそのまま渡しています。

もっといい方法があればぜひぜひ教えてください。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - BI

ad

ad

  関連記事

re:dash Error running query: ‘ascii’ codec can’t encode characters

エラー内容 re:dashの画面に「Error running query: & …

Backlogの実績工数をAmazon QuickSightで可視化してわかったこと

今年に入ってから、Backlogで個人タスクを登録しだして、予定工数、実績工数を …

re:dashのパラメータクエリでシングルクォーテーションが文字参照に変わって検索できないので出来るようにする

re:dashでシングルクォーテーションをパラメータとして渡したい場合の方法に悩 …

AWS上にMetabaseサーバーを起動してみました

データ可視化ツールのMetabaseがいいらしいという声をいくつか聞いたのでAW …

re:dashで 「Error running query: ‘ascii’ codec can’t encode」

re:dash の画面に表示されたエラー Error running query …

Re:dash CSVの出力文字コードをUTF-8からShift-JISに変更する

Re:dashの[Download Dataset] – [Down …

勉強会用にre:dashの環境構築した記録

先日の「ヤマムギVol5 BI ファーストステップ ~re:dash , Pow …

Pentaho Communitation EditionをAWS EC2 Amazon Linux にインストールしてみました

BIというか、簡単なグラフが表示出来ればいいレベルでいいので、商用のBIを購入す …

RedashでSendGridのActivityを見る(Amazon S3 -> Athena経由)

Redash Advent Calendar 2017に参加しましたので、今年リ …

PentahoでMySQLテーブルデータソースを作成しようとした時のエラー対応

PentahoでMySQLのテーブルへデータソースを作成しようとしてエラーが発生 …