【问题标题】:SPSS Modeler 17 : Get the next not null valueSPSS Modeler 17:获取下一个非空值
【发布时间】:2016-10-03 12:35:19
【问题描述】:
我目前正在使用 SPSS Modeler 17 中的填充节点来处理我的空值。
我想通过增加或减少两个非空值之间的值来替换空白值。
例如,如果我有以下值:
12
$null$
$null$
15
我想将其替换为:
12
13
14
15
为了做到这一点,我需要能够同时知道最后一个非空值和下一个非空值。
我能够知道最后一个非空值,但我读到没有等效函数(如@SINCE)来知道下一个非空值。
有谁知道如何获得下一个非空值?
非常感谢您的帮助!!
【问题讨论】:
标签:
null
spss
spss-modeler
【解决方案1】:
您可以通过将 Derive 节点设置为“Derive as Count”+“Increment when: true”来创建补充数字 ID (1,2,3..N)。
倒序排列感谢新 ID。派生新变量“@OFFSET(desired_field,@SINCE(desired_field/=undef))”或“@LAST_NON_BLANK(desired_field)”(如果您在上游类型节点中将 null 设置为空白)。
向前排序并以与使用新变量类似的方式使用填充符。
您故意不能查看未来的行,因为 Modeler 会逐行读取行,但明确设置的数字记录除外,例如@OFFSET(字段,-1)