具有Tableau因子的R模型

时间:2014-07-09 20:55:39

标签: r tableau

我正在尝试在R中构建销售模型,然后将其集成到Tableau中,以便我可以查看与实际值相关的预测。我正在为销售构建的模型在R中,我试图通过创建一个计算字段将其集成到Tableau中,该字段使用模型使用Tableau中的SCRIPT_REAL函数为每条记录提供预测值。这些记录都来自MySQL数据库连接。我遇到的问题来自于在我的模型中使用因素(例如,月份)。

如果我想按星期几对所有预测进行分组,Tableau无法执行计算,因为它会尝试聚合我正在使用的每个字段,然后再将其传递到模型中。当它尝试聚合月份时,并非所有值都相同,因此它返回“”。显然,由于没有与“”相关联的值,因此无法达到预测值。基本上我要做的是获取每个记录的预测值,然后以各种方式聚合这些预测值。

1 个答案:

答案 0 :(得分:0)

好的,现在我可以更好地了解你所谈论的内容。带有虚拟数据的twbx(甚至虚拟模型,但会产生你面临的同样问题)会有所帮助,但让我试着说几件事

重要的是要理解的一点是SCRIPT函数就像表计算一样,即它们只在聚合字段中执行,它们是最后计算的(在所有聚合,度量和常规计算之后)并且您可以定义你想要的聚合。

因此,如果您想要每天显示值,请将日期字段放在页面上,转到日期级别,然后按DAY(date_field)计算分区。如果你想要一周,同样的事情。

我发现表计算(包括R脚本)在它们结束时非常有用,即计算是答案。当它结束时,它不是那么有用(或者更好,不是那么容易被操纵),就像最终计算之前的中间步骤才能得到答案。这主要是因为聚合级别基于页面上的字段。因此,例如,如果我有来自不同客户的多个订单,并且想要评估客户的平均订单价值,那么表计算很好,WINDOW_AVG(SUM(order_value))由客户划分。如果由于某种原因,我想总结所有这些值,那么它很棘手。我无法直接执行此操作,因为avg订单值未存储在任何位置,并且如果没有所有客户端在页面上,则无法检索。所以我通常做的是为所有客户创建表,将其导出到mdb,然后在Tableau中重新连接。

我说这一切都是因为它可能是你的问题,当你说“Tableau无法执行计算时,因为它试图在将它传递给模型之前聚合我正在使用的每个字段”。是的,Tableau做到了这一点,你无能为力,但要找到解决方法。在Tableau中创建中间表,导出它并在Tableau中再次连接它可能是一个答案。在R中执行计算,导出它然后连接到Tableau可能是另一种方式。

但是,再一次,如果没有真正看到你想要做什么,就很难说你需要做什么