複数値パラメータ内にNULLが含まれるとin()関数が機能せず、グラフが連動しない事象について

複数値パラメータと計算フィールドを用いたカスタムフィルターにおいて、

コントロールの選択を変更してもグラフが全く連動(反映)しない事象が発生しました。

回避策を実施しましたが、仕様変更の有無と他に解決策がないかを確認したくご連絡しました。

ifelse(
in(NULL, ${Param_A}), 1,
in(Field_A, ${Param_A}), 1,
0
)

参照元の Field_A 内にNULLのデータが存在する場合、

コントロールのチェックを変更してもグラフの数値や表示が一切更新されない。

検証:

データ内にNULLが存在しない別の列や、

アクション(グラフのクリック)によって具体的な文字列のみをパラメータに渡した際は、

正常にグラフが連動しました。

解決策:

データセット内で coalesce(Field_A, '空白') という計算フィールドを作成し、

コントロールと数式からNULLを完全に排除したところ、正常に連動するようになりました。

【質問事項】

①仕様変更の有無について:

以前はデータ内にNULLが存在しても上記の数式で機能していましたが、

最近のアップデート等で in() 関数におけるNULL配列の処理が厳格化されたのでしょうか?

ベストプラクティスについて:

今回実施した「coalesce を用いてNULLを文字列に置換・排除する」対応は、

現在の仕様におけるベストプラクティスでしょうか。

他に推奨される回避策があればご教示ください。

よろしくお願いいたします。

ご質問ありがとうございます。

① 仕様変更の有無について

in() 関数は複数値パラメータを計算フィールドで使用するために追加された機能であり、in(Field_A, ${Param_A}) という使い方自体は正式にサポートされています。

ただし、参照元のフィールドに NULL が含まれる場合の in() の挙動については、公式ドキュメントに明示的な記載がございません。以前動作していたものが動作しなくなった場合、内部的な挙動変更の可能性はありますが、仕様変更のアナウンスは確認できておりません。本件 AWS サポートにお問い合わせ頂く事でお客様のアカウント固有の情報を確認可能な場合がございますので、サポートケース起票もご検討ください。

参照: in - Amazon Quick

② 回避策について

coalesce で NULL を文字列に置換し、データセットレベルで NULL を排除する方法は有効な回避策です。ベストプラクティスという観点では可能な限り Quick にデータを投入する以前の段階で NULL をはじくことができれば理想ではございますが、現実的な制約や運用面から今回実施頂いているご対応で問題ないかと思います。

上記、ご確認のほどよろしくお願いいたします。