我有一个问题,我无法用我的逻辑解决。我想让某个城市的所有客户在特定日期范围内从同一城市订购,并在此特定日期范围之前的任何日期从同一城市订购。
我尝试用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将被涂成红色,因为它在日期之前订购但不是来自同一城市。
试试这个
创建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
告诉我它有用吗?
也许你可以构建一个计算字段,将客户端和城市一起作为client_city