SAS CATX エラー: CATX の Null パラメーターが無効です

MRR

SAS Enterprise ガイドでいくつかの変数を連結しようとしています。

SAS_tableは次のようなものから始めます (空の列plumsと空の観察に注意してくださいpears:

id      farm         apples        pears           cherries          plums
1       'Munich'     'Granny'      'Williams'      'RedDelight'
2       'Amsterdam'  'PinkLady'                    'Scrumptious
3       'Moscow'     'Braeburn'    'Williams'      'RedDelight'     

次に、次のようにグローバル変数を作成します。

%do i = 1 %to 3; 
    %global farm_&i., apples_&i., pears_&i., cherries_&i., plums_&i.;
%end; 

そして、上記のテーブルを次のようにグローバル変数に保存します。

data _NULL_; 
    set SAS_table; 
    %do i = 1 %to 3; 
        if id = &i. then do; 
            call symput("farm_&i.", farm); 
            call symput("apples_&i.", apples); 
            call symput("pears_&i.", pears); 
            call symput("cherries_&i.", cherries); 
            call symput("plums_&i.", plums); 
        end; 
    %end;
run; 

上記のすべてがスムーズに動作するようです。次のステップでは、個々の変数で次の出力を取得したいと考えています (空の値はスキップされるだけであることに注意してください。これらの場合、追加の区切り文字 (" :: ") は設定されません)。

concat_1:      Munich :: Granny :: Williams :: RedDelight
concat_2:      Amsterdam :: PinkLady :: Scrumptious
concat_3:      Moscow :: Braeburn :: Williams :: RedDelight

これを行うには、次のコードを使用します。

data _NULL_; 
    %do i = 1 %to 3;
         call_symput("concat_&i",catx(" :: ", &&farm_&i., &&apples_&i.., &&pears_&i.., 
             &&cherries_&i.., &&plums_&i..));
    %end;
run; 

ただし、このコードを実行すると、次のエラーが表示されます。

ERROR 159-185: Null parameters for CATX are invalid.

ここでの私の仮定は、変数の一部が空の値になる可能性があるため、SAS は不満であるということです。しかし、どうすればこれを修正できますか? 私はたくさんのことをいじりましたが、良い答えが見つからないようです。

トム

あなたのマクロ変数はMunichそれらのような値を持つように見えます。したがって、マクロが生成している SAS コードは文字列リテラルを生成する必要"Munich"があります。そうしないと、SAS はその名前の変数を探します。これは、null 値を文字列リテラルにする引用符がないCATX()と、隣接する区切り文字での呼び出しになるため、null 値に関するエラーについても説明しています

data _NULL_; 
%do i = 1 %to 3;
  call_symput("concat_&i",catx(" :: ", "&&farm_&i.", "&&apples_&i.."
             , "&&pears_&i..", "&&cherries_&i..", "&&plums_&i.."))
  ;
%end;
run; 

代わりに、引用符を使用してマクロ変数を生成することもできますが、その形式のマクロ変数としてはあまり役に立ちません。したがって、最後の call symput() ステートメントを変更する代わりに、マクロ変数を作成する以前のステートメントを変更できます。そのステップから不要なマクロ コードを削除することもできます。

data _NULL_; 
  set SAS_table; 
  call symput(cats("farm_",id), quote(farm)); 
  call symput(cats("apples_",id), quote(apples)); 
  call symput(cats("pears_",id), quote(pears)); 
  call symput(cats("cherries_",id), quote(cherries)); 
  call symput(cats("plums_",id), quote(plums)); 
run; 

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

catxマクロ関数が必要-catxはprocsqlで200文字に制限されています

分類Dev

CATx関数が式を評価しないようにする方法

分類Dev

CATx関数が式を評価しないようにする方法

分類Dev

Xcopyエラー:パラメータの数が無効です

分類Dev

PDOSQLクエリのパラメータが無効です

分類Dev

このエラーを修正する方法パラメータが無効です

分類Dev

Azure:パラメーター 'requestid'の値が無効です

分類Dev

SAS9.3変数のデータが無効です

分類Dev

SpringBootのクエリパラメータの角かっこが無効です

分類Dev

パラメータ「ゲイン」の設定が無効です

分類Dev

sklearn推定パイプラインのパラメーターが無効です

分類Dev

マングース:クエリのパラメータがnullの場合は無視する

分類Dev

SAS(WPS)でProcSQLを使用する場合の「無効な列名」エラー

分類Dev

無効なパラメータでのPdoエラー

分類Dev

Google Analytics:フィルターパラメーターの値が無効です

分類Dev

交差検定推定量のパラメーターが無効です。値エラー

分類Dev

jacocoチェックのエラー-パラメータ「ルール」がないか無効です

分類Dev

エラーメッセージ「ペアのエラー||!is.null(y):無効な「x」タイプの「x || y」」

分類Dev

MPI_Win_createに関する基本的なRMAの問題、サイズがゼロ以外の場合、パラメーターNULLベースポインターのNULLポインターは無効です

分類Dev

Boto Scan Filterexpression:パラメーターのタイプが無効です

分類Dev

テーブルタイプパラメータの列名が無効です

分類Dev

DynamoDBデータベースクエリのパラメータが無効です-Javascript-AWS

分類Dev

パラメータの値がnullです

分類Dev

エラー:パラメータ「TimeZone」の値が無効です:「カナダ/東-サスカチュワン」

分類Dev

プッシャーのarray_mergeでのPHPエラー2番目のパラメーターがnull

分類Dev

除外パラメータが設定されている場合、xcopyはエラー「パラメータの数が無効です」を返します

分類Dev

OKTA-OAuthError:redirect_uriパラメーターの値が無効です

分類Dev

where句linqtosqlのnullパラメータを無視する

分類Dev

putメソッドでパラメーターの値がnull

Related 関連記事

  1. 1

    catxマクロ関数が必要-catxはprocsqlで200文字に制限されています

  2. 2

    CATx関数が式を評価しないようにする方法

  3. 3

    CATx関数が式を評価しないようにする方法

  4. 4

    Xcopyエラー:パラメータの数が無効です

  5. 5

    PDOSQLクエリのパラメータが無効です

  6. 6

    このエラーを修正する方法パラメータが無効です

  7. 7

    Azure:パラメーター 'requestid'の値が無効です

  8. 8

    SAS9.3変数のデータが無効です

  9. 9

    SpringBootのクエリパラメータの角かっこが無効です

  10. 10

    パラメータ「ゲイン」の設定が無効です

  11. 11

    sklearn推定パイプラインのパラメーターが無効です

  12. 12

    マングース:クエリのパラメータがnullの場合は無視する

  13. 13

    SAS(WPS)でProcSQLを使用する場合の「無効な列名」エラー

  14. 14

    無効なパラメータでのPdoエラー

  15. 15

    Google Analytics:フィルターパラメーターの値が無効です

  16. 16

    交差検定推定量のパラメーターが無効です。値エラー

  17. 17

    jacocoチェックのエラー-パラメータ「ルール」がないか無効です

  18. 18

    エラーメッセージ「ペアのエラー||!is.null(y):無効な「x」タイプの「x || y」」

  19. 19

    MPI_Win_createに関する基本的なRMAの問題、サイズがゼロ以外の場合、パラメーターNULLベースポインターのNULLポインターは無効です

  20. 20

    Boto Scan Filterexpression:パラメーターのタイプが無効です

  21. 21

    テーブルタイプパラメータの列名が無効です

  22. 22

    DynamoDBデータベースクエリのパラメータが無効です-Javascript-AWS

  23. 23

    パラメータの値がnullです

  24. 24

    エラー:パラメータ「TimeZone」の値が無効です:「カナダ/東-サスカチュワン」

  25. 25

    プッシャーのarray_mergeでのPHPエラー2番目のパラメーターがnull

  26. 26

    除外パラメータが設定されている場合、xcopyはエラー「パラメータの数が無効です」を返します

  27. 27

    OKTA-OAuthError:redirect_uriパラメーターの値が無効です

  28. 28

    where句linqtosqlのnullパラメータを無視する

  29. 29

    putメソッドでパラメーターの値がnull

ホットタグ

アーカイブ