-1
私の目標は簡単です。最初にグループ別に数を数え、各グループ内で平均を求めます。私は2つのSQLを試しましたが、いずれも成功しませんでした。コードを入れ子にする方法を知っている人はいらっしゃいませんか?
おかげで、 アンドレア
まず試してみてください。
proc sql;
create table bhr_surg as
select a.*, mean(b.numsurg) as meansurg from bhr as a,
(select count(b.surgid) as numsurg from bhr as b)
where surgid not in (1,2,3,7777)
group by surgid,procyr;
quit;
2回目の試行:
proc sql;
create table bhr_surg as
select *, count(surgid) as numsurg, mean(calculated numsurg) as meansurg from bhr
where surgid not in (1,2,3,7777)
group by surgid,procyr;
quit;
bhrの列は何ですか?それが動作しないと言うと、エラーメッセージは何ですか?さらに、sashelpライブラリをサンプルデータとして使用するスタンドアロンのサンプルを提供してください。 – Snorex
最初の例では、 "from bhr as a"は有効な構文ではありません。 FROM句のエイリアスは、 "from bhr a"(no "as")のような構文を使用します。 – Snorex
こんにちはSnorehorse、最初の例では、2つのエラー。まず、「相関名Bで識別される表/ビューに列numsurgが見つかりませんでした」 2番目は「平均要約関数は数値引数を必要とします。私は第二のものが最初のものだと思う。 "as"はここで本当に問題ではありません。私は同じエラーとして "as"を削除します。データは非常にシンプルで、外科医は外科医IDです。私は別の年(procyr)で各外科医(computedid)を数えたいと思う。 – Andrea