redashでフィルターを作成する際にパラメータを利用しますが、フィルターを利用したい場合と利用したくない場合があり、同一クエリーでフィルターを無効にする対応が必要なりました。
そこで下記のような対応をとりました。
SELECT
*
FROM
data_table
WHERE
p_id =
CASE WHEN '{{p_id}}' = 'ALL' THEN p_id
ELSE '{{p_id}}'
END
パラメータp_id
にALL
を指定した場合は実質フィルターなし(全選択)の状態になります。
※p_id
の値にALL
が存在しない場合に有効な方法となります。