我尝试在Tableau中计算一个新字段,类似于SQL中的子查询。但是,当我尝试这样做时,我的数字不匹配。我被困在这一点上,我正试图看看别人做了什么。
要提供参考,下面是我尝试在Tableau中复制的子查询。
select
((sum(n.non_influenced_sales*n.calls)/sum(n.calls))-(sum(n.average_sales*calls)/sum(calls))))/
(sum(n.non_influenced_sales*n.calls)/sum(n.calls)) as impact
from (select
count(d.id) as calls
,avg(d.sale) as average_sales
,avg(case when non_influenced=1 then d.sale else null end) as non_influenced_sales
from data d
group by skill) n
当我尝试在Tableau中构建相同的计算时,只要我按技能注释掉组,我就能得到相同的结果。但是,当我尝试按技能进行分组时,我尝试匹配该数字并没有起作用。
我最接近的是当我尝试使用include来修复细节表达水平时。 Tableau代码:
(include [skill]:([non_influenced_sales]-[average_sales])/[non_influenced_sales]}
然而,执行此操作或使用fixed不起作用,我无法匹配从SQL获得的数字。
仅供参考,影响是一种综合衡量标准。我在tableau中构建了子查询部分,只需为我需要的计算创建单独的字段。所以举个例子 Tableau中计算的非影响销售额:
avg(if [non_influenced]=1 then [non_influenced_sales] end)
但是,我不确定这是否重要。
我也尝试过创建自定义sql。我可以使用所有日期正确的卷起版本。但是当我想要进入不同的日期/使用其他过滤器时,事情会变得非常混乱。我正在尝试在日期级别建立关系,但这也没有奏效。
有更简单的方法吗?