我想要計算SAS
中dataset
中的記錄數。有一個函數可以用簡單的方式創建這個東西?我使用R
ed獲取此信息有length()
函數。 Morover我需要記錄的數量來計算一些百分比,所以我不需要這個值在表中,但在一個值可以用於其他data step
。我該如何解決?如何獲取SAS中數據集的記錄數
在此先感謝
我想要計算SAS
中dataset
中的記錄數。有一個函數可以用簡單的方式創建這個東西?我使用R
ed獲取此信息有length()
函數。 Morover我需要記錄的數量來計算一些百分比,所以我不需要這個值在表中,但在一個值可以用於其他data step
。我該如何解決?如何獲取SAS中數據集的記錄數
在此先感謝
這裏是另一個解決方案,使用SAS字典,
proc sql;
select nobs into: num_obs
from dictionary.tables
where libname = "WORK" and memname = "A"
;
quit;
這是很容易通過修改上面的代碼來獲得許多數據集的大小,
proc sql;
create table test
select memname, nobs
from dictionary.tables
where libname = "WORK" and memname like "A%"
;
quit;
data _null_;
set test;
call symput(memname, nobs);
run;
上面的代碼將會給你在臨時/工作庫中名稱以「a」開頭的所有數據集的大小。
假設這是您所創建的,而不是修改或附加到一個基本的SAS表,最好的方法是使用數據集中持有的元數據(嘗試的次數是保存在一個名爲「nobs」的元數據中),而不讀取數據集自身並將其放入宏變量中。您可以通過以下方式做到這一點:
Data _null_;
i=1;
If i = 0 then set DATASETTOCOUNT nobs= mycount;
Call symput('mycount', mycount);
Run;
%put &mycount.;
現在,您將有一個包含在數據集中的行數,你可以使用& mycount的其他數據的步驟調用一個宏變量。
您是否在Google中搜索了「SAS數據集中的記錄數」? – Longfish
如果您使用它來計算百分比,那麼您可能希望在數據集中使用此值。 – superfluous