【发布时间】:2015-10-06 14:53:19
【问题描述】:
我刚开始使用 Spotfire,在弄清楚如何创建特定的计算列时遇到了一些困难。我很确定我需要使用 OVER 功能,但我还没有完全弄清楚,而且互联网上几乎没有文档或示例。
这是我正在处理的数据示例:
loc wafer x y pass bin
T25 10 2 37 1 13
T25 10 2 37 2 6
CMI 10 2 37 NA 13
T25 10 2 37 NA 13
T25 10 2 38 1 13
T25 10 2 38 2 13
CMI 10 2 38 NA 13
T25 10 2 38 NA 13
T25 10 2 70 1 1
T25 10 2 70 2 4
CMI 10 2 70 NA 1
CMI 10 2 70 NA 1
T25 10 2 70 NA 1
T25 10 2 70 NA 1
我尝试创建的列将基于传递值。因此,对于每个位置、晶圆和 x-y 坐标,只要 pass=1,我想将 bin 值复制到该行的新列中。我还希望将相同的 pass=1 bin 值复制到匹配位置、晶片、x-y 坐标中,其中 pass 不是 NA。这是我想看到的:
loc wafer x y pass bin newCol
T25 10 2 37 1 13 13
T25 10 2 37 2 6 13
CMI 10 2 37 NA 13 NA
T25 10 2 37 NA 13 NA
T25 10 2 38 1 13 13
T25 10 2 38 2 13 13
CMI 10 2 38 NA 13 NA
T25 10 2 38 NA 13 NA
T25 10 2 70 1 1 1
T25 10 2 70 2 4 1
CMI 10 2 70 NA 1 NA
CMI 10 2 70 NA 1 NA
T25 10 2 70 NA 1 NA
T25 10 2 70 NA 1 NA
我现在的表达如下:
CASE
WHEN [pass] = "1" THEN Concatenate([bin]) OVER ([location],[wafer],[x],[y])
END
它将 bin 复制到 pass=1 的任何行,而不是 pass=2 的行。
【问题讨论】:
标签: spotfire