连续几年安排服务日期的客户数量

时间:2019-12-26 20:35:57

标签: spotfire

我是Spotfire的新手(使用7.7),在完成一项简单任务时遇到障碍,因此希望获得一些帮助。

我需要一定数量的客户来计划连续几年的服务日期。 由于用户将使用不同的日期过滤器,因此我创建了一个MaxServiceDate计算列,以根据过滤器为我提供最大日期,然后减去一年来为我提供PreviousYear计算列。

然后我的想法是对具有与MaxServiceDate和PreviousYear匹配的ServiceDate的所有CustomerID进行唯一计数。我遇到的问题是我不知道如何分组或修复CustomerID以便遍历ServiceDates并检查它们的日期是否符合我的条件。

感谢您的帮助。

样本数据:

Spotfire sample data

2 个答案:

答案 0 :(得分:0)

您可以使用具有max(ServiceDate)和客户ID的数据透视转换创建辅助表。将表与原始表连接起来,以便在主表上拥有每个客户的最大日期。然后根据“ Max(ServiceDate)”和“服务日期”进行计算列,以确定是否> 365天。

Pivot Transformation

答案 1 :(得分:0)

我认为以下计算列可以满足您的需求:

If((Max(Year([ServiceDate])) over (Intersect([CustomerID])) - Min(Year([ServiceDate])) over (Intersect([CustomerID])) + 1)=UniqueCount(Year([ServiceDate])) over (Intersect([CustomerID])),"good","bad")

对于每个客户,取其最大服务日期年份,减去其最小服务日期年份,然后加+1。此数字应与与该客户的服务日期相关的不同年份的数量相匹配。

这将告诉您特定客户(至少在您拥有该客户的情况下)是否连续两年提供服务。