如何计算Tableau上的聚合函数

时间:2018-03-08 18:09:05

标签: r tableau

我在Tableau上有一个计算字段(称为TOTAL),它连接到R studio以通过R创建输出(R代码写在Calculate字段内)。

R代码有一个函数,它在从Tableau传递.arg的函数中返回一堆100和50,如果给定的参数发生变化,它们的数量会改变。

这是计算字段总计内容:

SCRIPT_STR("
    numbers <- function(a,b,c,parameter){
        a <- as.numeric(a)
        b <- as.numeric(b)
        c <- as.numeric(c)
        parameter <- as.numeric(parameter)
        al = ifelse(a > ((parameter * b) + b) | a < (c - (parameter * c)),'100','50')
        return(al)
    }
    numbers(.arg1,.arg2,.arg3,.arg4)
", SUM([A]),SUM([B]),SUM([C]),[PARAMETER])

现在,一旦我将结果可视化(例如,在饼图中),图表就不会告诉我们有多少100和50多,但是它正确地划分了数字比例。像这样:

TOTAL result in Pie Chart TOTAL result in Pie Chart

显然,第一张照片中的100表示​​输出中所有100张中的100张,但我想知道100张和50张的总数

我尝试在TOTAL字段上使用COUNT,但它会启动一个错误,描述TOTAL已经是一个聚合函数,并且无法聚合。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

试试这个过程:

创建两个计算字段,一个用于100个,另一个用于50个

if Total = 100
then 1
else 0
end

50的计数

if total=50
then 1
else 0
end

现在获取两个计算字段的运行总和,然后将两个公式放在工具提示中。