2016-07-25 167 views
0

我想知道是否可以创建一个计算列来计算相同值的多少个单元格是连续的(即,彼此相邻),以便可以分割它由该列中的单元格总数决定。 (我只在看1和0的列。任何帮助或建议将不胜感激,因为我一直在抓我的头在这一段时间,Spotfire中具有相同值的连续单元格的数量

enter image description here

的百分比在底部列的仅仅是= /(总行#)(的1的接触到另一个1号) - >我的最终目标

+0

早上好,你能提供一个样本数据集和预期的输出吗?这是很重要的,因为你要计算连续的值,顺序问题。 – scsimon

+0

刚刚添加,感谢您的建议编辑 - 我忘了我的表会改变一个简单的复制/粘贴 – Lgeo

回答

1

好这必须是在几个步骤完成

  • 插入。计算列RowId()并将其命名为rid
  • 插入这个表达式计算的列,并将其命名为[TouchingA]:

If(([Location A]=1) and (([Location A]=First([Location A]) over (Next([rid]))) or ([Location A]=First([Location A]) over (Previous([rid])))),1,0)

  • 插入这个表达式计算的列,并将其命名为[TouchingB]:

If(([Site B]=1) and (([Site B]=First([Site B]) over (Next([rid]))) or ([Site B]=First([Site B]) over (Previous([rid])))),1,0)

此时,您的数据将如下所示:

SpotfireTouching

接下来,插入一个CROSS TABLE并设置水平轴= (Column Names),垂直轴= (None)和单元格值= Sum([TouchingA])/Max([rid]) as [A Percent], Sum([TouchingB])/Max([rid]) as [B Percent]

这将显示你想要的值,比如下面。当然你可以在文本区域或其他任何你想要的地方用适当的IF或CASE声明来设定他的计算值。最后,您可以更改格式以使值与%相对。

enter image description here

+0

这是一个很好的解决方案,谢谢!很有帮助! – Lgeo

+0

不用担心@FLgeo – scsimon

+0

@FLgeo,我也是威士忌的粉丝,让我们知道如果你遇到任何其他问题! – scsimon

相关问题