yamamanx

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年、ユーザ企業システム部門通算8年目のSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。

 - BI

ad

ad

Message

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

  関連記事

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

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

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

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

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

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

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

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

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

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

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

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