Рекомендация состоит в том, чтобы передавать значения в виде вектора (столбец/строку в таблице) вместо одной ячейки, чтобы уменьшить количество RServe звонки. Если ваша таблица в Таблице структурирована для выполнения расчетов по ячейкам, каждая ячейка становится разделом. Чтобы вычислить результат вычисления, который будет применяться ко всему столбцу, Tableau вызывает Rserve для каждой ячейки.
Вот что происходит (с official documentation):
Если расчеты таблиц устанавливаются Cell
, Tableau делает один вызов Rserve в раздел:
клеток
Этот параметр устанавливает адресацию в отдельные ячейки в таблице. Все поля становятся полями разметки. Эта опция обычно больше полезна при вычислении процента общего расчета.
Вместо вызова для каждой строки/столбца:
Оптимизация сценариев R
SCRIPT_ функции в Tableau являются расчеты табличные функции, так применяются концепции адресации и разделения. Tableau делает один звонок до Rserve на раздел. Поскольку подключение к Rserve связано с некоторыми служебными данными , попробуйте передать значения как векторы, а не как индивидуальные значения , когда это возможно. Например, если вы установили адресацию на ячейку (т. Е. Set Calculate the difference в диалоговом окне «Расчет таблицы »), Tableau сделает отдельный вызов в строке до Rserve; в зависимости от размера данных, это может привести к очень большому количеству индивидуальных вызовов Rserve. Если вместо этого вы используете столбец , который идентифицирует каждую строку, которую вы будете использовать на уровне детализации, то может «вычислить вдоль» этого столбца, чтобы Tableau мог передавать значения за один раз.
Благодаря @Steven это хороший ответ. Я использовал «вычислить», что улучшило количество вызовов. Но самое главное я обнаружил, что если у вас есть несколько экземпляров «rserve», работающих в любой момент времени, это вызовет серьезные задержки. Если все остальное не удается, убедитесь, что выполняется только один экземпляр rserve (ctrl + alt + del-task manager-процессы). Если выполняется несколько процессов, остановите их и запустите один –