如何基于案例陈述构建Tableau除法函数?

时间:2015-02-12 17:35:18

标签: tableau calculated-field

在Tableau中,我有一个完全标准化的数据集,例如我有一个维度(国家)字段,一个字段用于指标(利润和销售),一个字段用于值(事实数字)。

我想知道我是否可以写一份案例陈述,其中我按销售额划分利润,例如在SQL中它将类似于:

(case when metric = 'profit' then [value] else 0 ) / (case when metric = 'sales' then [value])

我尝试使用Tableau计算字段功能构建case语句但它返回零 - 我怀疑因为我试图在SQL中执行此操作而在SQL中我认为这可能是一个两步过程。

请注意,重构数据的简单解决方案实际上不是一个选项,因为这会产生其他问题(我的简单示例中没有概述)。

2 个答案:

答案 0 :(得分:1)

试试这个:

第1步:计算字段Profit

if metric =' Profit'然后价值结束

第2步:计算字段sales

if metric =' sales'然后价值结束

第3步:一个计算字段来划分Profit/sales

然后你用它来得到结果。

答案 1 :(得分:1)

我假设您的数据集在不同的行中有profitsales。这可能会给您带来麻烦。好消息是,使用Tableau 9.0及更高版本,可以使用LOD计算轻松实现。

因此,您可以尝试将计算字段创建为

country_profit : {FIXED country : SUM(CASE WHEN metric = 'PROFIT' then value)}
country_sales : {FIXED country : SUM(CASE WHEN metric = 'Sales' then value)}
result : country_profit / country_sales

如果有效,请告诉我们。