2016-05-30 1 views
1

私はこのような1つのハッシュテーブルを宣言することができるよ:では、同じデータステップで2つのハッシュテーブルを宣言できますか?

data DALY1; 
    * set lengths ; 
    length Germ $10 Category1 $50 Category2 $50 AgeGroupDALY $10 Gender $2 value 8; 

    * make link to hash table ; 
    if _n_=1 then do; 
     declare hash h1(dataset:'modelData'); 
     h1.definekey ('Germ', 'Category1', 'Category2', 'AgeGroupDALY', 'Gender') ; 
     h1.definedata('Value'); 
     h1.definedone(); 
     call missing(Germ, Value, Category1, Category2); 
    end; 
run; 

を私はこのように2を宣言するとき:

data DALY1; 
    * set lengths ; 
    length Germ $10 Category1 $50 Category2 $50 AgeGroupDALY $10 Gender $2 value 8; 

    * make link to hash table ; 
    if _n_=1 then do; 
     declare hash h1(dataset:'modelData'); 
     h1.definekey ('Germ', 'Category1', 'Category2', 'AgeGroupDALY', 'Gender') ; 
     h1.definedata('Value'); 
     h1.definedone(); 
     call missing(Germ, Value, Category1, Category2); 

     declare hash h2(dataset:'states'); 
     h2.definekey ('Germ') ; 
     h2.definedata('stateList'); 
     h2.definedone(); 

    end; 
run; 

私が手:

ERROR: Undeclared data symbol stateList for hash object at line 194 column 3.
ERROR: DATA STEP Component Object failure. Aborted during the EXECUTION phase.

私は思ったんだけど同時に2つのハッシュテーブル(またはそれ以上、私は3が必要です)を宣言することが可能な場合でも。
答えがまだある場合は、何が間違っていますか?

この例はどこにも見つかりません。

ありがとうございます!

答えて

2

はい、1つのDATA STEPに複数のハッシュテーブルを作成できます。

を参照してください:This Forum PaperまたはThis SESUG paper

あなたは変数 'stateList' を定義していませんでした。 変数 'stateList'をLENGTHステートメントに追加します。

+0

私は長さを忘れてしまった:/これを見つけてくれてありがとう! –

関連する問題