ヤマムギ

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で変換したものをそのまま渡しています。

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

@yamamanx
開発ベンダー5年、ユーザ企業システム部門通算9年、ITトレーナー1年目のSoftware Engineerです。 質問はコメントかSNSなどからお気軽にどうぞ。 出来る限りなるべく答えます。 このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。

 - BI

ad

ad

Message

メールアドレスが公開されることはありません。

  関連記事

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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