我想知道是否有一种检测数据集是否为空的方法,即它没有观察结果.或者在另一种说法中,如何获得特定数据集中的观察数量.
这样我就可以编写一个If语句来设置一些条件.
谢谢.
是否有任何语句\函数能够获取变量的名称?最好将它们放入另一个数据集,文本字段或宏变量的列中.
例如
- 数据集1
Name age sex
Jk 14 F
FH 34 M
Run Code Online (Sandbox Code Playgroud)
预期的数据集
Var_name_of_dataset1
Name
age
sex
Run Code Online (Sandbox Code Playgroud)PS:我知道一个声明:select into,它确实相关它可以将列的值读入带有自定义separetors的字段中,因此希望有类似的方法将列名读入字段或列.
谢谢
我想知道是否有一种方法可以在没有排序的情况下对记录进行不重复处理?有时候,我希望保留原始顺序并且只想删除重复的记录.
可能吗?
顺便说一句,以下是我所知道的关于不重复记录的内容,它最终会进行排序.
1.
proc sql;
create table yourdata_nodupe as
select distinct *
From abc;
quit;
Run Code Online (Sandbox Code Playgroud)
2.
proc sort data=YOURDATA nodupkey;
by var1 var2 var3 var4 var5;
run;
Run Code Online (Sandbox Code Playgroud) 我想知道是否可以将一个观察中的每个记录与SAS代码连接起来.例如
这是原始数据集
1st_name 2nd_name 3rd_name ..... last_name
abc def ghi ..... xyz
Run Code Online (Sandbox Code Playgroud)
现在我想添加一个变量,它将所有值从1st_name连接到last_name - 如果可能的话,用特定的分隔符分隔.
预期结果
1st_name 2nd_name 3rd_name ..... last_name all_name
abc def ghi ..... xyz abcdefg...xyz
Run Code Online (Sandbox Code Playgroud)
当然有一种方法
data name;
set name;
length all_name $ 30;
all_name=1st_name||2nd_name....||last_name;
run;
Run Code Online (Sandbox Code Playgroud)
但是,如果有数百个变量,情况就会变得糟糕.所以问题是如何自动完成,而不必指定变量名,数字等.
期待SAS专家的答案:)
众所周知,SAS需要特别注意句子中的引号.
例如
%let quoted="I'd like to";
data temp;
set temp;
quoted=""ed";
run;
Run Code Online (Sandbox Code Playgroud)
提交时遇到错误.
实际上,我需要将数据复制到另一个数据集中,其中有很多记录包含引号.分配时,错误发生者和数据步骤停止执行,导致其余代码无效.因此,在这种情况下,通过添加重复的引号来修改原始数据集是不可能的,这是没有意义的.
因此,没有必要添加一个重复的,例如,"我想",是否有任何其他方法可以避免错误,或使数据步骤保持执行?
谢谢,