Tibco SpotFire - проверка выпадающего списка «(нет)» опция с функцией данных R - PullRequest
0 голосов
/ 03 февраля 2019

Я использую 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)) {...}

В зависимости от того, что я выберу, суммы, которые должны включать все в этом случае, ничего не включают.

Обычно я могу понять это, просто печатая тип данных var_1 на консоли после выбора (None) в раскрывающемся списке.Когда я пытаюсь это сделать, консольный вывод нигде не появляется.

Какими данными заполняет SpotFire var_1, если выбран (none), или, более точно, какой оператор if мне нужен здесь?

Спасибо.

1 Ответ

0 голосов
/ 04 февраля 2019

Это должен был быть NA.Потенциально он был сброшен при первой попытке.

Полезный способ отладки таких ситуаций:

  1. поместите инструкцию наподобие: save.image ('C: / Debug /myscript.RData ') в качестве первого утверждения вашего сценария TERR, где C: / Debug является просто примером папки.Пока оно существует, подойдет любое имя.
  2. Запустите ваш скрипт в Spotfire для генерации файла изображения, не имеет значения, если он выдает ошибку, если он проходит мимо этого оператора
  3. скопируйте и вставьте ваш скрипт в RStudio, указывая на TERR
  4. замените save.image с загрузкой (или просто дважды щелкните по файлу изображения)
  5. запустите скрипт построчно и /или осмотрите среду, в которой вы должны увидеть var_1.

Чтобы открыть RStudio в TERR, вы можете перейти из Spotfire в Инструменты> Инструменты TERR> Запустить IDtu RStudio.Откроется окно RStudio, указывающее на версию TERR, которую вы сейчас используете в Spotfire.Вы можете проверить это, запустив оператор 'version'.

...