我有一个名为a的数据集,我想删除名称为" AVG_OPT_PR"的列。 ='。'以下代码有效:
DATA work.a1;
SET work.a;
IF AVG_OPT_PR = '.' THEN delete;
RUN;
但是,还有另一个名为" Period"的列,我只想删除一个位置内的行,所有" AVG_OPT_PR" ='。'。我怎么能这样做?
例如,数据如下:
Location_id | Period | AVG_OPT_PR
------------+-------------+-----------
L_1 | 2 weeks | 105
L_1 | 1 month | .
... | ... | ...
L_1 | 1 year | 103
L_2 | 2 weeks | .
L_2 | 1 month | .
... | ... | ...
L_2 | 1 year | .
因此,位置id等于" L_2"被删除,但" L_1"的所有数据都被删除被存管。
谢谢!
答案 0 :(得分:1)
为每个avg_opt_pr
选择location_id
的最大值(如果缺少最大值,它将显示为。),将其合并回第一个数据集,然后删除所有{{1}最大的缺失。
location_ids
答案 1 :(得分:0)
如果只想删除同时AVG_OPT_PR
.
Location_id
和L-2
DATA work.a1;
SET work.a;
IF AVG_OPT_PR = '.' and Location_id = 'L_2' THEN delete;
RUN;
的行,那么这应该可行精细。
IF THEN DELETE
还有一些其他示例可以扩展您如何使用AVG_OPT_PR
要删除.
Location_id
L_1
的所有行,L_1
等于DATA work.a1;
SET work.a;
IF AVG_OPT_PR = '.' and Location_id ^= 'L_1' THEN delete;
RUN;
的所有行(AVG_OPT_PR
以外的所有行})
.
并删除Location_id
IN ('L_2','L_3','L_4',...)
DATA work.a1;
SET work.a;
IF AVG_OPT_PR = '.' and Location_id IN ('L_2','L_3','L_4') THEN delete;
RUN;
的所有行,其中
是列出的String s= System.getPropety("projectName/filename");
File f = new File(s);
String s= System.getPropety("projectName/filename");
File f = new File(s);
std::string s(size, '\0');