我的画面数据中有一个称为“时间”的度量。我想用R创建一个计算字段。我已经成功安装了RServe,我这样做了:
SCRIPT_REAL('hour(.arg1) + minute(.arg1)/60 + second(.arg1)/3600 ', [time])
但是我在tableau计算字段中得到了错误:
错误:使用表计算函数或来自多个源的字段时,所有字段必须是聚合或常量。
我知道我做错了什么?谢谢。
答案 0 :(得分:0)
Tableau向数据源发送查询并接收结果集。查询结果为聚合,即来自SQL GROUP BY查询。因此,从查询返回的每个度量都是从涉及SQL聚合函数的表达式计算的,如MIN(),MAX(),SUM(),AVG(),COUNT()等
然后,Tableau会根据汇总结果评估任何表计算。 SCRIPT_REAL是一个表计算,就像WINDOW_AVG()等一样。因此,SCRIPT_REAL()的参数中引用的所有字段必须是聚合结果或常量,如错误消息所述。因此传递MIN([时间])或AVG([时间])将是合法的,但不仅仅是[时间]。
这些聚合函数是否有意义可能取决于工作表上的维度 - 因为它决定了数据行的分区方式。