計算式の中で文字列を返すパラメーターで「選択なし」を選ぶと、列が無くなる。

概要

単一選択のCharacter型パラメータで「選択なしのサポート」を有効にしている場合、計算を作成のダイアログ内でそのパラメータを使用すると、「選択なし」を指定した際、列が無くなります。

解説

以下のような設定で作業していた際の事例です:

  • 単一選択のCharacter型のパラメータ
  • 「選択なしのサポート」を有効化

image

また、上記のパラメーターを以下のように計算の作成のダイアログで利用してます。

image

このような設定で、パラメーターペインから「選択なし」を指定して実行すると、期待していた列が作成されない、または対象の列が消えるという現象が発生します。

image

これは、「選択なしのサポート」が有効なパラメータで「選択なし」を指定すると、内部的には NULL が返される仕様になっていることに起因しています。

mutate関数では、以下のように、NULLを引数として指定した場合、列が追加されません。

mutate(col1 = NULL)

そのため、パラメーターで値を選択していたときには、存在していた列が、「選択なし」を指定して実行するとなくなります。

上記のような挙動がありますので、もし列がなくなる状況を防ぎたいようでしたら、「選択なしのサポート」を無効にしてください。