Exploratoryのv10.7以前のバージョンにおいて、パラメーターを利用して欠損値を含む列に対してフィルタを実施する際、以下の問題を確認しています。
コンテンツ間で結果が異なる理由は、テーブルビューや、サーバーにパブリッシュしたコンテンツでは、欠損値を含む列に対してパラメーターを使ってフィルタを実行した際、欠損値が除外されるのに対して、Exploratoryデスクトップ上のチャートやレポートでは、欠損値が除外されないことによります。
そこで、こちらのノートでは、それぞれの結果を統一する方法を紹介します。
こちらは、Exploratoryデスクトップ上のチャートやレポートの結果にテーブルビューやサーバーにパブリッシュしたレポートの結果に一致させる方法です。
Exploratoryデスクトップ上のチャートやレポートでフィルタのパラメーターを実行した場合、欠損値は除外されないため、その処理を実際のフィルタの処理に追加をする必要があります。
具体的には、列ヘッダメニューから「フィルタ」の「カスタム」を選択します。
例えば、「職種」という列名に対して、shokushu
というパラメーターを使って、「どれかに等しい」というフィルタを設定する場合、以下のように記述することになります。
職種 %in_or_all% @{shokushu} | is.na(職種)
このとき、%in_or_all%
は、「どれかに等しい」という演算子の処理に加えて、パラメーターの値を選択しなかったときに全ての値を返す演算子となり、exploratory_env$…
の部分は、パラメーターを指定するコードとなります。
なお、単一選択のパラメーターを使って1つの値を選択するか、パラメーターの値を選択しなかったときに全ての値を返す場合は、%equal_or_all%
という演算子を使って以下のように記述することになります。
<列名> %equal_or_all% @{パラメーター名} | is.na(<列名>)
これにより、欠損値は残しつつも指定したパラメーターの値の一致するデータを残せるわけです。
こちらは、Exploratoryデスクトップ上のチャートやレポートでフィルタのパラメーターを実行したときの結果に、テーブルビューやサーバーにパブリッシュしたレポートの結果を、合わせる方法です。
Exploratoryデスクトップ上のチャートやレポート上でフィルタのパラメーターを実行した場合、欠損値は除外されないため、その処理を実際のフィルタの処理に追加をする必要があります。
そこで、チャートビューに移動し、各チャートのチャートレベル・フィルタで欠損値を除くフィルタを追加することで、デスクトップ上のチャートやレポート上の結果から欠損値を除外することが可能となります。