我试图通过Tableau计算字段返回向量。根据下面的链接,Tableau可以使用通过计算字段与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.
答案 0 :(得分:2)
你实际上并没有返回一个值;只需在Rserve
环境中分配3个向量。您需要在分配后返回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]))
答案 1 :(得分:0)
如果您使用此计算字段的表格中有1行且Parameter1值为9且参数2值为5,并且您发布了代码示例,那么您创建的矢量看起来像(9,5)它有2行。
因此表1行但计算字段返回2行。因此出现错误消息
&#34;功能预期1个值;返回了2个值。&#34;
如果您想要回传矢量,则需要传递矢量。您可以查看R integration introductory blog post上的k-means聚类示例,该示例传递包含Iris数据集的几个向量,并通过聚类分配获得向量。