2015-07-28 3 views
1

Я пытаюсь вернуть вектор через вычисляемое поле Tableau. Согласно приведенной ниже ссылке, Tableau может либо получить одно значение, либо вектор, используя соединения с R через вычисленное поле.Как вернуть вектор при соединении R с таблицей?

http://community.tableau.com/docs/DOC-5313

см:

»... Если код R возвращает матрицу значений, Tableau не будет знать, что делать, мы должны возвращать одно значение или вектор ...»

Это то, что я в моем вычисляемом поле, где параметр 1 и 2 параметра являются просто произвольными значениями (только для демонстрационных целей):

SCRIPT_REAL ('testvector <- c(.arg1, .arg2); testvector',min([Parameter 1]), min([Parameter 2])) 

Я ожидал один вектор должен быть возвращен, но я получаю следующее сообщение об ошибке:

## Error: Unexpected number of results returned by SCRIPT function. Function expected 1 values; 2 values were returned. 

ответ

2

Вы на самом деле не возвращающую значения; просто назначая 3 вектора в среде Rserve. Вы должны вернуться testvector после назначения:

SCRIPT_REAL('column1 <- c(.arg1, .arg2); 
      column2 <- c(.arg3, .arg4); 
      testvector <- c(column1,column2); 
      testvector', 
      min([Parameter 1]), min([Parameter 2]),min([Parameter 3]), min([Parameter 4])) 
+0

Я смущен. Почему были созданы 3 вектора? Кажется, что должен быть только один 'testvector <- c (column1, column2)'. Кроме того, я добавил одну строку 'testvector' к моему скрипту, но это не решило проблему. Я все еще получаю то же сообщение об ошибке. –

+0

Я думаю, вы отредактировали заголовок моего оригинального сообщения - неожиданное количество результатов, возвращаемых функцией скрипта –

+1

Вам нужно явно указать, какой вектор будет возвращаться в таблицу. Без указания '...; testvector'' Rserve' не знает, какой из 3 векторов (например: 'column1',' column2' или 'testvector') для возврата. –

0

Если таблица, в которой вы используете это вычисляемое поле имеет 1 строку и значение Parameter1 9 и значение PARAMETER2 5, с примерами кода, вы в курсе, вы создавая вектор, который выглядит как (9,5), который имеет 2 строки.

Итак, таблица 1 строка, но вычисленное поле возвращает 2 строки. Следовательно, сообщение об ошибке

«Ожидаемая функция 1 значения, 2 значения были возвращены».

Для того, чтобы получить вектор назад, вам нужно передать вектор. Вы можете взглянуть на пример кластеризации k-mean на R integration introductory blog post, который пропускает несколько векторов, которые составляют набор данных Iris, и возвращает вектор с назначением кластера.

 Смежные вопросы

  • Нет связанных вопросов^_^