Tableau过滤器由多个字段组合组成

问题描述 投票:0回答:2

我有一个问题,我无法用我的逻辑解决。我想让某个城市的所有客户在特定日期范围内从同一城市订购,并在此特定日期范围之前的任何日期从同一城市订购。

我尝试用Fixed修复它:

我尝试的解决方案是创建3个参数,一个保存名为“Certain_Date”的特定Order_Date,一个保存我希望看到的名为“End_Date”的日期范围的结束日期,另一个保存城市名称“Certain_City” ”。

这是我的计算字段:

IF { FIXED [Customerid], [Certain_City] : MIN(Order_Date) < [Certain_Date] }
AND { FIXED [Customerid], [Certain_City] : MAX(Order_Date) >= [Certain_Date]}
THEN "Customer Ordered from City before"
ELSE "Customers first Order from this City"
END

此计算字段不起作用,它只能让我之前从任何城市订购的客户。

此外,我使用过滤器仅显示从Certain_Date到End_Date订购的CustomerID。但它不起作用,任何想法?

这是一个我想要的例子:

>     Order_Date Customer_ID City
>     01.10.2016 1234        Stockhom
>     01.05.2016 1234        Stockhom
>     01.03.2016 1234        Oslo
>     05.10.2016 1455        Berlin
>     01.04.2016 1455        Berlin
>     02.10.2016 1211        Stockhom
>     06.03.2016 1211        Prague

假设“Certain_Date”是01.10.2016,“End_Date”是03.10.2016

从这个数据我想创建一个条形图,其中包含唯一的CustomerID-s数量,并为“之前从城市订购的客户”和“来自该城市的客户第一个订单”着色。

在本例中,条形图最多可达3个Elemnts。其中CostumerID-1234和1455的颜色为蓝色,因为他们之前从同一城市订购,1211将被涂成红色,因为它在日期之前订购但不是来自同一城市。

tableau calculated-field
2个回答
0
投票

试试这个

创建3个参数

  1. 开始日期
  2. 结束日期

现在

创建计算字段C1

 {fixed [Customer],[OrderCity]:max(if OrderDate>=StartDate and OrderDate<=EndDate then 1 end)}

创建另一个计算字段C2

 If C1>=1 and orderDate<StartDate then 'true' else 'False' end

将此C2放入过滤器设置默认值= True

告诉我它有用吗?


0
投票

也许你可以构建一个计算字段,将客户端和城市一起作为client_city

© www.soinside.com 2019 - 2024. All rights reserved.