2017-03-28 3 views
0

で同じテーブルの列を参照するために、観測値を使用して:私はの線に沿って列を参照したい私はSASエンタープライズガイドで作業し、次のようにテーブルを持っていますSAS

period  year_1  year_2  year_3 
1   100   200   300 
2   100   200   300 
3   100   200   300 

data table; 
    set input; 
    chosen_year = year_%eval(period); 
run; 

したがって、period列の値は、chosen_year列の結果を決定する必要があります。これどうやってするの?

+1

http://www2.sas.com/proceedings/sugi30/242-30.pdf –

+0

これはリンクされた質問の複製ではありません。この質問は実際にははるかに簡単です。 – Tom

+0

私は主に@Tomに同意しますが、閉鎖リストにコミュニティがあるということは、OPがそれを重複として受け入れることを意味します。しかし、私は再び開くことができます。 – Joe

答えて

1

period変数を配列インデックスとして使用できます。

SASの配列は、単に変数の集合です。ここでyear_1 - year_3を配列に代入すると(その配列にはyear_1 year_2 year_3が置かれます)、periodを使用してリストの 'period_th'エントリを選択します。

上記の変数名よりも複雑な場合は、他にもオプションがあります(おそらく、元々リンクされた複製を含みますが、上記の質問では重複していました)。

data table; 
    set input; 
    array year[*] year_1-year_3; 
    chosen_year = year[period]; 
run; 
関連する問題