2017-08-12 9 views
0

以下のようなDowループ以外のset文でuntil/whileを実行する例をお探しです。SASでset文を使ってuntil/whileを実行する

data want; 
    set have; 
    do until/while (exit criteria); 
    * some SAS statements; 
    end; 
run; 

私はもともとこれを試していました。

data test; 
    input x; 
    cards; 
    1 
    2 
    3 
    4 
    ; 
run; 

data test2; 
    set test; 
    count = 0; 
     do until (count >= 3); 
     y = x + count; 
     count + 1 ; 
     output; 
     end; 
    run; 
+0

あなたの質問は明らかではありません。 "DoW loopの例"は問題ではありません。あなたは何をしようとしているのですか?表示したコードはDoWループではありません。 DoWループはDOループ内にsetステートメントを持ちます。 – Quentin

+0

Quentin。私はダウ・ループの例を求めていません。質問からダウ・ループ部分を取り除いたはずです。私はダウループのステートメントがループ内にあることを知っている。私が提供した例は、入力データセットから読み取った各観測のレコードを生成します。どのようなシナリオでこのタイプのループが役立つでしょうか? – Alph

+1

質問はまだ分かりません。観測ごとに複数のレコードを生成する場合に便利です。たとえば、患者IDのデータセットがあり、visit = 1〜visit = 10の各患者に対して10レコードのデータセットを作成したいとします。 – Quentin

答えて

1
data whatdidyoutry; 
    set sashelp.class; 
    f=2; 
    wt=1; 
    do until (wt=f); 
    wt+1; 
    output; 
    end; 
run; 
+0

コメント欄にコードを入力できませんでした。だから私は私の質問を編集しました。 – Alph

+0

私の懸念は、入力データセットから読み取ったすべての観測について、条件が満たされるまで新しいレコードが作成されることです。これはデータを生成するようなものです。 – Alph

+0

あなたの質問は何ですか? –

関連する問題