如果缺少前列,则添加数据你好
我正在尝试在数据集中创建一个包含最新可用日期的列。因此,在这种情况下,如果访问19中缺少日期,我将从访问18中获取日期。我能做的。但是,如果缺少第18次访问日期,我将使其无法正常工作。那么,如何使jmp从一列开始并返回直到有日期?
朱莉(Br Julie)
回复:如果缺少,则添加前几列中的数据您只需要完全舍弃If(isMissing(子句)。 只要“最后一次看到的日期”列中所有缺少的值,它实际上都没有改变
回复:如果缺少,则添加前几列中的数据好的-这很有道理。但是运行脚本不会将任何值添加到新列。
不应该不见了 ”语句指向第19列?还是我遗漏了什么?
回复:如果缺少,则添加前几列中的数据我在i = 5上的错误。 我正在测试...。我将其更改为i = 1。
如果需要新列,则可以将其添加为第20列,并使用第二个脚本。
Names Default To Here( 1 );
dt = Current Data Table();
dt << New Column("Last Date Seen",format("yyyy-mm-dd",12));
For( i = 1, i <= N Rows( dt ), i++,
If( Is Missing( As Column( "Last Date Seen" )[i] ),
Column( "Last Date Seen" )[i] = Max( dt[i, 0] )
)
);回复:如果缺少,则添加前几列中的数据但是,不是只用最新日期填写最后一列而不是创建新列吗?
另外,在第一个大本营中,为什么“ = 5“?
提前致谢
回复:如果缺少,则添加前几列中的数据这是两种方法
Names Default To Here( 1 );
dt = Current Data Table();
For( i = 1, i <= N Cols( dt ), i++,
missingRows = dt << get rows where( Is Missing( As Column( i ) ) );
If( N Rows( missingRows ) > 0,
For( k = 1, k <= N Rows( missingRows ), k++,
Column( i )[missingRows[k]] = Column( i - 1 )[missingRows[k]]
)
);
);
Names Default To Here( 1 );
dt = Current Data Table();
For( i = 1, i <= N Rows( dt ), i++,
If( Is Missing( As Column( 19 )[i] ),
Column( 19 )[i] = Max( dt[i, 0] )
)
);
回复:如果缺少,则添加前几列中的数据如果您从第一行开始进行迭代,那么当您在表格中进行迭代时,您应该能够使用上一个日期来填写缺失的日期。对我来说,这似乎很简单,但我可能错过了重要的一点。