2016-04-22 14 views
1

datasetのレコード数をSASに数えたいと思います。このことを簡単な方法で行う機能がありますか?私はこの情報を得るためにRを使用しました。length()の機能がありました。私はテーブルの中ではなく、他のdata stepのために使用できる値でこの値を必要とするので、私はいくつかのパーセルを計算するためにレコード数が必要です。どうすれば修正できますか?事前にSASでデータセットのレコード数を取得する方法

おかげ

+0

「SASデータセットのレコード数をカウントしましたか?」 – Longfish

+0

これを使ってパーセンテージを計算する場合は、おそらくデータセット内にこの値が必要です。 – superfluous

答えて

1

は、上記のコードはあなたを与えるだろう

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; 

、上記のコードを変更することで、多くのデータセットのサイズを取得するのは簡単である、SASの辞書を使用して、

proc sql; 
    select nobs into: num_obs 
    from dictionary.tables 
    where libname = "WORK" and memname = "A" 
    ; 
quit; 

別のソリューションです一時/作業ライブラリの名前が "a"で始まるすべてのデータセットのサイズ。

0

試行の番号は、(最良の方法は、データセットで開催されたメタデータを使用することで、これはあなたが作成した、とに変更または追加さていませんでした基本的なSASテーブルであると仮定すると、 "nobs"と呼ばれるメタデータの一部に保持されています)、データセットを読み取ってそのマクロを読み込まずに、マクロ変数に置き換えます。あなたは、次の方法でこれを行うことができます。

Data _null_; 
i=1; 
If i = 0 then set DATASETTOCOUNT nobs= mycount; 
Call symput('mycount', mycount); 
Run; 

%put &mycount.; 

あなたは今、あなたは& mycountを使用して他のデータステップでの呼び出すことができ、データセット内の行数を含むマクロ変数を持つことになります。ここで

関連する問題