2017-09-19 21 views
0

以下はデータセットからデータを読み込んでからExcelファイルに書き込むためのsasコードですが、問題があります。データセットからSASを読み取り、Excelに書き込む

LIBNAME mck_pred "N:\Data-Dump\test\training" compress=yes; 

proc sql; 
create table temp as 
select cust_id, number from mck_pred.pred_data; 
quit; 

proc export data=temp output="C:\Users\test.xlsx" dbms=XLSX replace; 
run; 

エラーが表示さ:

  1. compress=yesはどういう意味:示すように、コードについて

    OTE: The SAS System stopped processing this step because of errors. 
    2463 proc export data=temp output="C:\Users\test.xlsx" dbms=XLSX replace; 
                 ------ 
                 22 
                 76 
    ERROR 22-322: Syntax error, expecting one of the following: ;, (, DATA, DBLABEL, DBMS, DEBUG, FILE, 
           LABEL, OUTFILE, OUTTABLE, REPLACE, TABLE, _DEBUG_. 
    
    ERROR 76-322: Syntax error, statement will be ignored. 
    
    2464 run; 
    

    、私は3つの問題がありますか?

  2. プログラムを正常に実行できるように変更するにはどうすればよいですか?
  3. いつプログラムでquitrunを使用する必要がありますか?

ありがとうございます。

+0

どうすればそのコード_does not_が正常に実行されたかを表示してください – user2877959

+0

@ user2877959は既にエラーメッセージ – sweetyBaby

答えて

2

1)compress=yesは、ライブラリmck_predで作成した新しいデータセットの観測値が圧縮されることを意味します。この特定の例では、影響はありません。

3)長い話を短くするために、quitproc sqlで使用され、rundata手順および他のすべてのSASの手順で使用されています。

2)出力パスの構文はで、output=ではありません。また、proc exportステートメントにdbms=xlsxと記載する必要があります。

+0

を追加しました。コメントをありがとう、私はすでにdmbs = xlsxを試しています。ありがとう。 – sweetyBaby

+0

ただし、それでもエラーが表示されます: – sweetyBaby

+0

注:テーブルWORK.TEMPが作成され、190000行と2列です。 2497 quit; 注:PROCEDUREの使用SQL(合計処理時間): リアルタイム20.35秒 CPU時間20.32秒 2499 procのエクスポートデータ=一時OUTFILE = "C:\ Users \ユーザーtest.xlsx" 置き換えます。 2500実行; エラー:サーバーへの接続に失敗しました:。 注:SASシステムは、エラーのためにこの手順の処理を停止しました。 注:PROCEDURE EXPORTが使用されました(合計プロセス時間): リアルタイム0.17秒 CPU時間0.14秒 – sweetyBaby

関連する問題