私が持っているコーディングの問題を助けることができるのだろうかと思っています。SASは列を動的に数え、それぞれを集計するコード
背景 - 一部のファイルをインポートし、そのファイルのデータを使用して投影を実行するプロジェクトがあります。ファイルの内容によって、出力のサイズのいくつかの側面が決まります。単純に、ロードされたデータの値は、後続のテーブルのサイズと形状を変化させます。
次のコードは、この問題の例です。
読み込まれるデータは、可変年の開始(wf2009、2009年が最初の年です)と可変範囲(この例は2009年から2030になりますが、これも変わります)があります。
私は続行するかどうかはわかりませんproc summary data= labeled_proj_data_hc;
class jurisdiction specialty measure;
types jurisdiction*specialty*measure;
VAR wf2009--wf2030;
output out= sum_labeled_proj_data_hc
sum(wf2009) = y2009
sum(wf2010) = y2010
sum(wf2011) = y2011
sum(wf2012) = y2012;
run;
は次のとおりです。それぞれの列の合計を求めるラインのシーケンスでは
sum(wf2009) = y2009
sum(wf2010) = y2010
sum(wf2011) = y2011
sum(wf2012) = y2012;
、どのように私はこれを動的にすることができます開始年となるよう変数から値が取り込まれ、それも可変である昨年まで毎年増加します。
誰もが同様の問題を解決しましたか?
乾杯、
ありがとうKeith。これはうまくいくかもしれません。私が月曜日に仕事に戻るときに、私は見ていきます。 P.S.いくつかの段階で名前を変更して、他のサマリー・メジャーを追加できるようにする必要がありますが、これは独自のステップで行う方が簡単かもしれません。 – underscores
さらにメジャーを追加する場合は、AUTONAMEオプションを使用します。このオプションは変数名の後にサマリー(合計、平均など)を付加します。例えばsum = mean =/autoname。代わりに、DICTIONARY.COLUMNSから変数名を読み込み、PROC SUMMARYで使用される必要な式を作成することができますが、これは可能ですが少し面倒です。 – Longfish
注:私はあなたに投票しますが、うーん、私は担当者がいません。 – underscores