如何将每一行作为参数从 Tableau 计算字段传递给 R 脚本
How to pass each row as an argument to R script from Tableau calculated field
我正在尝试对我拥有的 table 进行情绪分析。
我希望将每一行字符串数据传递给 R 脚本,但问题是 Tableau 仅接受聚合数据作为参数:
SCRIPT_STR(
'output <- .arg1; output', [comments]
)
这给我一条错误消息:
# All fields must be aggregate or constant.
尝试 MIN([comments]) 并确保您的可视化项具有适当的维度,以便对数据进行足够精细的划分,以便为每个维度组合获得一条评论。
来自 Tableau and R Integration 文档:
Given that the SCRIPT_*() functions work as table calculations, they
require aggregate measures or Tableau parameters to work properly.
Aggregate measures include MIN(), MAX(), ATTR(), SUM(), MEDIAN(), and
any table calculations or R measures. If you want to use a specific
non-aggregated dimension, it needs to be wrapped in an aggregate
function.
在你的情况下你可以这样做:
SCRIPT_STR(
'output <- .arg1; output', ATTR([comments])
)
ATTR()
是一个特殊的 Tableau 聚合,它执行以下操作:
IF MIN([Dimension]) = MAX([Dimension]) THEN
[Dimension] ELSE * (a special version of Null) END
当您不确定数据的详细程度和发送的内容时,它在构建可视化时非常有用
注意:在大型数据集中,它可能比 MIN()
或 MAX()
慢得多,所以一旦您确信您的结果是准确的,那么您可以切换到其他功能之一以提高性能。
我正在尝试对我拥有的 table 进行情绪分析。
我希望将每一行字符串数据传递给 R 脚本,但问题是 Tableau 仅接受聚合数据作为参数:
SCRIPT_STR(
'output <- .arg1; output', [comments]
)
这给我一条错误消息:
# All fields must be aggregate or constant.
尝试 MIN([comments]) 并确保您的可视化项具有适当的维度,以便对数据进行足够精细的划分,以便为每个维度组合获得一条评论。
来自 Tableau and R Integration 文档:
Given that the SCRIPT_*() functions work as table calculations, they require aggregate measures or Tableau parameters to work properly. Aggregate measures include MIN(), MAX(), ATTR(), SUM(), MEDIAN(), and any table calculations or R measures. If you want to use a specific non-aggregated dimension, it needs to be wrapped in an aggregate function.
在你的情况下你可以这样做:
SCRIPT_STR(
'output <- .arg1; output', ATTR([comments])
)
ATTR()
是一个特殊的 Tableau 聚合,它执行以下操作:
IF MIN([Dimension]) = MAX([Dimension]) THEN
[Dimension] ELSE * (a special version of Null) END
当您不确定数据的详细程度和发送的内容时,它在构建可视化时非常有用
注意:在大型数据集中,它可能比 MIN()
或 MAX()
慢得多,所以一旦您确信您的结果是准确的,那么您可以切换到其他功能之一以提高性能。