2017-07-01 37 views
0

我有一个这样的数据集ID的区别:3年的员工名单与一些员工存在于所有三年(ID:1,2,3),一些加入/离开公司不同的年份。Spotfire中 - 多年来

Year IDEmployee 
2014 1 
2014 2 
2014 3 
2014 4 
2015 1 
2015 2 
2015 3 
2015 5 
2015 6 
2016 1 
2016 2 
2016 3 
2016 6 
2016 7 
2016 8 

我需要计算进/出通量所有期间(2015 VS 2014和2016 VS 2015)

  • “以” 通量=在N-雇员数量+ 1年,不本的N年
  • “出”通量=在N-年雇员数量,不存在于N + 1年

在这种情况下,结果是:
- 2015 - 在通量: 2(ID:5,6,前一年不存在)。出磁通:1(ID:4,这是存在于前一年,但现在不存在的)
- 对于2016 - 在通量:2(ID:7-8中不存在前一年)。输出光通量:1(ID:5,这是存在于上年,但现在不存在)

应该使用计算列,但我不能写它做最简单的方法:

InFlux column: UniqueCount([IDEmployee]) OVER ([Year]) - UniqueCount([IDEmployee]) OVER (PreviousPeriod([Year])) 
OutFlux column: UniqueCount([IDEmployee]) OVER ([Year]) - UniqueCount([IDEmployee]) OVER (NextPeriod([Year])) 

任何建议?
非常感谢, Lollone

+0

@ Lollone-你能解释一下预期的输出在Excel和后呢?目前还不清楚你想在这里实现什么。 – ksp585

+0

@ ksp585我已经添加在后的描述。让我知道如果它仍然不清楚。非常感谢! :) – Lollone

+0

@ Lollone-请检查张贴的解决方案。 – ksp585

回答

0

@ Lollone-请检查下面的解决方案,让我知道它是否适用于所有可能的情况。

在磁通柱:

If(Count([ID]) over (intersect(previousperiod([Year]),[ID]))=0,"In") 

缺货磁通柱:

If(([Year]!=Max([Year])) and (Count([ID]) over (intersect(nextperiod([Year]),[ID]))=0),"Out") 

最终输出:

enter image description here

+0

正是我需要@ ksp585! 非常感谢! – Lollone