Tableau使用FIXED计算字段

时间:2017-08-02 10:58:11

标签: excel tableau

我在Tableau中有一个Excel文件数据库。数据库中的每一行都是两年内不同主题公园的一张票(分配给客户的Id)。

结构如下:

enter image description here

每个Id都可以在不同年份购买不同公园(或同一公园)的门票。

我无法做的是标记在两个不同年份在同一公园内的客户(例如,客户004已于2016年和2017年进入公园a。)

如何在Tableau中创建此计算字段?

(我设法在Excel中使用sumproduct功能解决了这个问题,但是数据库有超过500k行,过了一会儿它崩溃/加上我想使用计算字段,以防我用新公园更新excel文件或者新的一年)

理想情况下,我认为输出的结构应该如下(但我对不同的观点持开放态度,只要我得到结果):标记1个在两个不同年份访问过同一个公园的客户

enter image description here

2 个答案:

答案 0 :(得分:2)

创建一个名为customer_park_years =

的计算字段
{ fixed [Customerid], [Park] : countd([year]) }

您可以在过滤器架上使用它,仅包含customer_park_years> = 2的数据

然后,您将能够仅显示与访问他们多年访问的特定公园的客户相关的数据。如果您还想查看他们在其他公园的行为,您将不得不调整您的方法,而不仅仅是过滤掉其他数据。更改取决于您的问题的详细信息。

但是要回答你的具体问题,这应该是一个简单的方法。

请注意,对于非常大的数据集,countd()可能会很慢,但它可以轻松回答问题,而不会轻易地重塑数据,因此它通常是一个很好的权衡。

答案 1 :(得分:0)

试试这个!

IFNULL(str({fixed [Customerid],[Park]:IF  sum(1)>1 then 1 ELSE 0 END}),'0')