如何在 SAS EG 中获取行号列以通过该唯一编号简化行的选择?我想使用 PROC SQL 语法
How to get a row number column in SAS EG to ease the selection of rows by that unique number?? I want to use PROC SQL syntax
我想创建一个名为 rowno 的列,它基本上就像我现有 table 的序列号,因此即使有重复值也可以轻松删除或选择行。
输入:
Name Date Count
BAC 10/12 45
GBS 10/12 54
JDJA 10/13 89
SAK 10/13 11
YHN 10/14 76
JUK 10/14 76
输出:
Name Date Count **ROWno**.
BAC 10/12 45 1
GBS 10/12 54 2
JDJA 10/13 89 3
SAK 10/13 11 4
YHN 10/14 76 5
JUK 10/14 09 6
monotonic() 是一个未记录的函数,它可以执行您想要的操作。
data have;
input Name $ Date $ Count;
datalines;
BAC 10/12 45
GBS 10/12 54
JDJA 10/13 89
SAK 10/13 11
YHN 10/14 76
JUK 10/14 76
;
proc sql noprint;
create table want as
select *,monotonic() as rowno from have;quit;
您可以在数据步骤中使用 n 运算符。
假设您的输入数据集是 INPUT,使用下面的数据步骤创建一个新的数据集输出列 rownum
Data Output;
Set Input;
rownum = _n_;
run;
此代码适用于任何 Sas box,例如 Sas studio 等。
我想创建一个名为 rowno 的列,它基本上就像我现有 table 的序列号,因此即使有重复值也可以轻松删除或选择行。 输入:
Name Date Count
BAC 10/12 45
GBS 10/12 54
JDJA 10/13 89
SAK 10/13 11
YHN 10/14 76
JUK 10/14 76
输出:
Name Date Count **ROWno**.
BAC 10/12 45 1
GBS 10/12 54 2
JDJA 10/13 89 3
SAK 10/13 11 4
YHN 10/14 76 5
JUK 10/14 09 6
monotonic() 是一个未记录的函数,它可以执行您想要的操作。
data have;
input Name $ Date $ Count;
datalines;
BAC 10/12 45
GBS 10/12 54
JDJA 10/13 89
SAK 10/13 11
YHN 10/14 76
JUK 10/14 76
;
proc sql noprint;
create table want as
select *,monotonic() as rowno from have;quit;
您可以在数据步骤中使用 n 运算符。
假设您的输入数据集是 INPUT,使用下面的数据步骤创建一个新的数据集输出列 rownum
Data Output;
Set Input;
rownum = _n_;
run;
此代码适用于任何 Sas box,例如 Sas studio 等。