SAS IML を使用せずに SAS Base でそのような状況を処理できるかどうかを知りたいと思っています。
ベクトルが持っているとしましょう
a b c d e f
1001 JPN 10,000 50% JPN 2,000
1001 EUR 12,648 100% EUR 3,000
1001 USD 15,997 50% USD 5,000
1001 JPN 20,233 20% JPN 8,000
1001 EUR 25,591 20% EUR 9,000
1001 USD 32,368 50% USD 4,000
1002 JPN 28,393 50% JPN 6,000
1002 EUR 24,906 100% EUR 4,000
1002 USD 21,847 50% USD 8,000
1002 TRY 19,164 20% JPN 6,000
1002 EUR 16,811 50% EUR 15,000
1002 USD 14,746 100% USD 52,000
1003 USD 10,000 50% XVN 8,000
%macro;
% let i = 1;
data want;
set have;
%do %while a[&i]=a[eval(&i+1)] ;
b = &i;
&i=eval(&i+1);
%end
%mend
私がやりたいのは、b=e の a が max(c) と max(f) の差を取り、この差を d で乗算し、それぞれの a に対してこれらの結果を合計することです。これは反復されます。ここで作成した表は、ケースのほんの一部です。
ありがとう