确定列中的值何时在 spotfire 中发生变化
identify when values in a column change in spotfire
我试图在 Spotfire 中创建一个计算列,该列 flags/counts 另一列中各行的值变化。下面是我正在查看的数据类型和所需结果的示例。
我希望对于每个位置,并按时间排序,我可以识别“颜色”的值何时发生变化,并进行 运行 计数,以便为变化之间的每个相似值簇提供相同的值每个位置的标签(Cluster Desire 1)。如果 运行 个集群可以在每个位置重新启动,那将是最好的,但这并不重要。任何帮助将不胜感激!
我想到了一个办法,靠一个中间栏(我用了两个只是为了更清楚一点)。
首先:其位置内每一行的值串联:称为 [concatString]
Concatenate(Concatenate([Color]) 在 (Intersect([Location],AllPrevious([Time]))),', ')
Spotfire 默认使用逗号后跟 space 作为分隔符:我找不到在这种表达式中更改它的方法。
然后在每个 [concatString] 中删除重复的值。复杂的是最后一个没有逗号+space,我没能使我正在使用的正则表达式理解这一点。所以我的解决方法是在 [concatString] 中添加最后一个逗号+space。因此额外的 Concatenate(..).
没有重复的列的公式,[consolidatString] 是:
RXReplace([concatString],"(\\w+\,\\s)\\1+","$1","g")
那么我们所取得的是我们要分组的每一行的单独值。然后我们可以简单地对 [consolidatString] 进行排名以获得所需的列:
DenseRank([consolidatString],[Location])
我试图在 Spotfire 中创建一个计算列,该列 flags/counts 另一列中各行的值变化。下面是我正在查看的数据类型和所需结果的示例。
我希望对于每个位置,并按时间排序,我可以识别“颜色”的值何时发生变化,并进行 运行 计数,以便为变化之间的每个相似值簇提供相同的值每个位置的标签(Cluster Desire 1)。如果 运行 个集群可以在每个位置重新启动,那将是最好的,但这并不重要。任何帮助将不胜感激!
我想到了一个办法,靠一个中间栏(我用了两个只是为了更清楚一点)。
首先:其位置内每一行的值串联:称为 [concatString]
Concatenate(Concatenate([Color]) 在 (Intersect([Location],AllPrevious([Time]))),', ')
Spotfire 默认使用逗号后跟 space 作为分隔符:我找不到在这种表达式中更改它的方法。
然后在每个 [concatString] 中删除重复的值。复杂的是最后一个没有逗号+space,我没能使我正在使用的正则表达式理解这一点。所以我的解决方法是在 [concatString] 中添加最后一个逗号+space。因此额外的 Concatenate(..).
没有重复的列的公式,[consolidatString] 是:
RXReplace([concatString],"(\\w+\,\\s)\\1+","$1","g")
那么我们所取得的是我们要分组的每一行的单独值。然后我们可以简单地对 [consolidatString] 进行排名以获得所需的列:
DenseRank([consolidatString],[Location])