【问题标题】:Number of Successive Cells of a Same Value in SpotfireSpotfire中相同值的连续单元格数
【发布时间】:2016-11-28 21:00:28
【问题描述】:

我想知道是否可以创建一个计算列来计算有多少相同值的单元格是连续的(即,彼此相邻),以便我可以将其除以该列中的单元格总数. (我只查看列中的 1 和 0。任何帮助或建议将不胜感激,因为我已经为此苦恼了一段时间,

列底部的百分比只是 =(1 接触另一个 1 的数量)/(总行数)--> 我的最终目标

【问题讨论】:

  • 早上好,您能提供一个示例数据集和预期输出吗?这很重要,因为您要计算连续值,顺序很重要。
  • 刚刚添加,感谢建议的编辑 - 我忘记了我的表格会通过简单的复制/粘贴来更改

标签: calculated-columns spotfire


【解决方案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)

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

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

这将显示您想要的值,如下所示。当然,您可以使用适当的 IF 或 CASE 语句在文本区域或您想要的任何其他位置将其设置为计算值。最后,您可以更改格式以将值设为百分比而不是小数。

【讨论】:

  • @FLgeo,我也是威士忌的粉丝,如果您遇到任何其他问题,请告诉我们!
  • 我还有一个问题(这个问题的一个转折点)——我应该在这里发帖还是作为一个全新的问题发帖?
  • @FLgeo 我会打开一个新问题,以便更多人看到它。但是,您始终可以将此问题链接到它(只需将 URL 粘贴到您的问题中),这样人们就会有一个参考点。
  • 很好,会的!谢谢!
  • 我在这里添加了新问题:stackoverflow.com/questions/38836127/…
猜你喜欢
  • 2017-12-28
  • 1970-01-01
  • 2016-12-14
  • 1970-01-01
  • 2023-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多