首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >处理从R返回到Tableau的字符串,并将其拆分

处理从R返回到Tableau的字符串,并将其拆分
EN

Stack Overflow用户
提问于 2020-08-18 15:05:54
回答 1查看 98关注 0票数 1

我将Tableau连接到R并执行R函数来推荐产品。当R结束时,返回值是一个字符串,它将包含所有产品的详细信息,如下所示:

代码语言:javascript
复制
ID|Existing_Prod|Recommended_Prod\nC001|NA|PROD008\nC002|PROD003|NA\nF003|NA|PROD_ABC\nF004|NA|PROD_ABC1\nC005|PROD_ABC2|NA\nC005|PRODABC3|PRODABC4

(每行由\n分隔,表示行尾)

在Tableau上,我显示了计算字段,如下所示:

代码语言:javascript
复制
ID|Existing_Prod|Recommended_Prod
C001|NA|PROD008
C002|PROD003|NA
F003|NA|PROD_ABC
F004|NA|PROD_ABC1
C005|PROD_ABC2|NA
C005|PRODABC3|PRODABC4

上面的数据通过一个计算字段到达Tableau,作为我想要基于管道('|')拆分的单个字符串。现在,我需要将它分成三列,由管道分隔。

我在计算字段上使用了拆分函数:

代码语言:javascript
复制
SPLIT([R_Calculated_Field],'|',1)
SPLIT([R_Calculated_Field],'|',2)
SPLIT([R_Calculated_Field],'|',3)

但是错误显示“拆分函数不能应用于表计算”,这是不言而喻的。有什么替代方案可以解决这个问题吗?我在谷歌上搜索了一下处理R和Tableau之间集成的最佳实践,我所能找到的就是简单的kmeans集群代码。

EN

回答 1

Stack Overflow用户

发布于 2020-08-19 08:39:20

确保您了解分区和寻址是如何为表calc工作的。Table calcs将参数的向量传递给R脚本,并接收单个向量作为响应。这些向量的基数取决于表calc的分区。您可以通过编辑表格计算器,单击特定的尺寸标注来查看此信息。未选中的字段确定分区,从而确定从R发送和接收的参数的基数

这意味着将您的问题映射到此基础设施上可能很棘手。不一定是不可能的。它的设计目的是发送一系列向量参数,每个分区维度一个单元,例如,制造商,并返回一个向量,每个制造商一个结果(或者为表计算划分数据的任何字段组合)。听起来你在期待一个任意长度的推荐列表。让R脚本在返回之前将字符串转换为向量应该不会太难,但向量的大小必须有意义。

作为更适合此模型的方法的示例,假设您有一个Tableau视图,每个Product有一行(您有N个产品)-以及每个Product视图中的其他一些聚合度量字段。(在Tableau中,视图的细节级别是产品级别。)

直接将这些度量作为一系列参数向量传递给R-每个向量都有N个值,然后让R返回一个长度为N的实数向量,其中每个位置返回的值是该位置产品的推荐分数。(这就是为什么矢量的排序也很重要的原因)

然后,您可以从视图中筛选出得分较低的产品,并在视觉上区分高度推荐的产品。

因此,理解R集成的第一步是理解表计算如何与分区和寻址一起操作,并根据在两个方向上传递的固定长度的向量进行思考。

如果该模型不能很好地支持您的用例,那么您可以使用URL操作或JavaScript应用编程接口来做一些有用的事情。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63463468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档