Tableau 按多字段组合筛选

Tableau filter by multiple field combination

我有一个问题,我无法用我的逻辑真正解决。我想获取某个城市的所有客户,这些客户在某个日期范围内从同一城市下订单,并在该特定日期范围之前的任何日期从同一城市下订单。

我试着用 Fixed:

我尝试的解决方案是创建 3 个参数,一个包含特定 Order_Date,称为 "Certain_Date",一个包含我想看到的日期范围的结束日期,称为 [=33] =] 和一个包含城市名称的 "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-s。但这行不通,有什么想法吗?

这是我想要的例子:

>     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 的数量,并为 "Customer Ordered from City before" 和 "Customers first Order from this City" 着色。

在此示例中,条形图最多包含 3 个元素。 CostumerID-s 1234 和 1455 的颜色为蓝色,因为它们之前从同一个城市订购,而 1211 的颜色为红色,因为它在日期之前订购但不是来自同一个城市。

或许您可以构建一个计算字段,将客户和城市联系在一起,如 client_city

试试这个

创建 3 个参数

  1. 开始日期

  2. 结束日期

  3. 城市

现在

创建计算字段 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

告诉我它有效吗?