2017-05-14 1 views
-1

簡単な問題を解決するためにあなたの助けが必要です。(SAS)1つの特定の列(または複数の列の減算)からの多数の列

SASデータセットは (DATASET A) 列列B列Cのように見える...列Z SSS

私は新しいSASデータセットが のように見える(DATASET NEW) 列Aにしたい - SSSコラムB - SSS列C - SSS ...列Z - SSS

つまり、私は1つの列から多くの列を減算したい! マクロやシンプルなトリック(またはSQL?)を使用してこの問題を解決する方法は現在ありません

ありがとうございます!

+2

はあなたには、いくつかのサンプルデータを追加提案します。また、あなたが試したコードを表示してください。あなたは配列を使ってみましたか? – Quentin

+0

この問題では、マクロまたはSQL 'trick'は必要ありません。配列は最も簡単な解決策です。以下の例を参照してください:http://stats.idre.ucla.edu/sas/seminars/sas-arrays/#same – Reeza

+0

あなたの質問はSOの規則を満たしていないと言われているので、そうするまであなたは答えを得ることはまずありません。サンプルデータと出力を加え、あなたが試したことを示す必要があります。 https://stackoverflow.com/help/how-to-ask – Reeza

答えて

0

あなたの投稿へのコメントが示唆するように、あなたの質問は理解するのが少し難しく、配列が最も良い賭けになるでしょう。多分あなたはあなたの問題を解決するために以下のコードを使用することができ、言っ

/*Reproducible random dataset*/ 
data have; 
    do i=1 to 10; 
     Column_A = ceil(ranuni(_N_ )*1000); 
     Column_B = ceil(ranuni(_N_+10)*1000); 
     Column_C = ceil(ranuni(_N_+20)*1000); 
     Column_D = ceil(ranuni(_N_+30)*1000); 
     Column_E = ceil(ranuni(_N_+40)*1000); 
     SSS  = ceil(ranuni(_N_+50)*100); 
     output; 
    end; 
    drop i; 
run; 

/*Desired result?*/ 
data want; 
    set have; 
    array Columns Column_:; /* The ':' is a suffix wildcard matching like typed variables with names starting with "Column_" */ 
    do over Columns; 
     Columns = Columns - SSS; 
    end; 
    drop SSS; 
run; 
関連する問題