Tibco SpotFire - 使用R数据功能检查下拉列表"(none)"选项



我正在使用Tibco Spotfire。在文本区域中,我通过Insert property control添加了一个下拉列表,其中包含以下相关参数:

  • Control type: Drop-down list

  • Set property value through: Unique values in column

  • (Chose a column in a data table. The values populating the column are strings.)

  • Include (None) alternative: checked

属性控件的目的是为使用R编码的数据函数提供输入。数据函数基本上对输入数据表执行一些求和,其中求和的项在求和之前通过属性控件进行过滤。

我想要一个(None)替代方案作为一个选项,以避免在用户选择的情况下进行过滤。但是,我不知道如何检查是否选择了(None)选项。例如,假设在R函数中,链接到属性控件的变量称为var_1。我想要一些代码,上面写着:

# pseudo R code
# Note: the code below is to demonstrate my question, it's not the exact shape of the code I'm actually using.
if (var_1 == (None)) { # this is the line I don't know how to express, since I don't know how Tibco populates a (None) value
do not filter stuff.
}

对于if语句,我尝试过:

  • if (var_1 == "") {...}
  • if (var_1 == "(None)") {...}
  • if (var_1 == "(none)") {...}
  • if (is.na(var_1)) {...}

无论我选择哪一个,在本例中应该包括所有内容的总和都不包括任何内容。

通常,我可以通过在下拉列表中选择(None)后将var_1的数据类型打印到控制台来解决这个问题。当我尝试时,任何地方都不会弹出控制台输出。

如果选择了(none),SpotFire用什么数据填充var_1,或者更重要的是,我在这里需要什么if语句?

谢谢。

应该是NA。第一次尝试时可能未设置。

调试这种情况的一种有用方法是:

  1. 放置这样的语句:save.image('C:/Debug/myscript.RData')作为TERR脚本的第一个语句,其中C/Debug只是一个文件夹的示例。只要它存在,任何名字都可以
  2. 在Spotfire中运行脚本以生成图像文件,不管它是否给出错误,只要它超过了该语句
  3. 将您的脚本复制并粘贴到指向TERR的RStudio中
  4. 将save.image替换为load(或者双击图像文件)
  5. 逐行运行脚本和/或检查环境,在那里应该可以看到var1

要在TERR上打开RStudio,您可以从Spotfire中进入Tools>TERR Tools>Launch RStudioIDE。它将打开RStudio,指向您当前在Spotfire中运行的TERR版本。您可以通过运行"version"语句来验证它。

最新更新