データセット内の文字列の列に基づいてフラグのセットを作成しようとしています。文字列には何千ものユニークな値がありますが、小さなサブセット(たとえば10)だけのフラグを作成したいと思います。私はこれを行うためにSASマクロ変数を使用したいと思います。私はいろいろなアプローチを試みましたが、どちらもうまくいきませんでした。それはまだ動作していないが、ここでは、私には最も単純かつ論理的なようだコードは、次のとおりです。SASマクロ変数を使用してPROCで変数名を作成するSQL
%let Px1='12345';
PROC SQL;
CREATE TABLE CLAIM1 AS
SELECT
b.MEMBERID
, b.ENROL_MN
, CASE WHEN (a.PROCEDURE = &Px1.) THEN 1 ELSE 0 END AS CPT_+&Px1.
, a.DX1
, a.DX2
, a.DX3
, a.DX4
FROM ENROLLMENT as b
left join CLAIMS as a
on a.MEMBERID = b.MEMBERID;
QUIT;
は明らかに一つだけのフラグは、このコードであり、私はそれを把握一度のアイデアは、私は、追加の追加だろうということですマクロ変数とフラグ。エラーメッセージは次のとおりです。
8048 , CASE WHEN (PROCEDURE= &Px1.) THEN 1 ELSE 0 END AS CPT_+&Px1.
-
78
ERROR 78-322: Expecting a ','.
問題の原因は、文字列CPT_とマクロ変数の組み合わせに関連しているようです。私が言及したように、私はこれに対処するためにいくつかのアプローチを試みましたが、誰も働いていませんでした。
ご協力いただきありがとうございます。
これは、SASの実装TSQLではないので、これは関係ありません。 SASは全く異なっています。 – Joe