使用Tableau for R中的SCRIPT_REAL

时间:2015-07-06 16:36:50

标签: r tableau tableau-online

我的画面数据中有一个称为“时间”的度量。我想用R创建一个计算字段。我已经成功安装了RServe,我这样做了:

SCRIPT_REAL('hour(.arg1) + minute(.arg1)/60 + second(.arg1)/3600 ', [time])

但是我在tableau计算字段中得到了错误:

  

错误:使用表计算函数或来自多个源的字段时,所有字段必须是聚合或常量。

我知道我做错了什么?谢谢。

1 个答案:

答案 0 :(得分:0)

Tableau向数据源发送查询并接收结果集。查询结果为聚合,即来自SQL GROUP BY查询。因此,从查询返回的每个度量都是从涉及SQL聚合函数的表达式计算的,如MIN(),MAX(),SUM(),AVG(),COUNT()等

然后,Tableau会根据汇总结果评估任何表计算。 SCRIPT_REAL是一个表计算,就像WINDOW_AVG()等一样。

因此,SCRIPT_REAL()的参数中引用的所有字段必须是聚合结果或常量,如错误消息所述。因此传递MIN([时间])或AVG([时间])将是合法的,但不仅仅是[时间]。

这些聚合函数是否有意义可能取决于工作表上的维度 - 因为它决定了数据行的分区方式。