ヤマムギ

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認定クラウドプラクティショナー 改訂第2版」という本を書きました。

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

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

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

 - BI

ad

ad

  関連記事

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

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

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

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

Re:dash CSVの出力コードをUTF-8から他の文字コードに変更する事が出来るようになります

先日、Re:dash CSVの出力文字コードをUTF-8からShift-JISに …

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

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

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

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

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

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

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

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

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

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

TuneCoreの売上データCSVをS3に格納してAthenaのクエリをRe:dashのデータソースにして可視化する

先日参加しましたAWS Summit Tokyo 2017で、 [JapanTa …

Re:dashを0.12系から1.0系へアップグレードする

1.0系が正式リリースになったので0.12系からアップグレードしました。 .en …