0

SAS データセットを既製の Excel テンプレートにエクスポートしようとしています。

データセット (.wpd ファイル) の最初の 6 つの変数は次のようになります。

StartDate     EndDate    product_code   Description               Leaflet    Media
04-Jul-13    07-Jul-13    256554    BUTCHER BEEF 1PK (1 KGM)       54x10        3   

私は現在持っています:

options noxwait noxsync;
x '"c:\Template.xls"'; /* <--excel template to use*/
filename template dde 'excel|Leaflets!r6c1:r183c67';   /*put data in rows 3 to 183 in leaflets sheet*/


data LEAF.results; set LEAF.results;
file template ;
     put StartDate   EndDate   product_code   Description   Leaflet  Media  
         /*and the remaining 61 variables*/    
run;

DDE 手順が機能し、Excel シートが開きますが、データは Excel で正しくフォーマットされておらず、次のようになります。

StartDate      EndDate      Product code   Description  Leaflet      Media
04 July 2013   07 July 2013    256554      BUTCHER         BEEF       1PK

ご覧のとおり、スペースを区切り記号として扱っているようですが、これを変更する構文がわかりません。実際のデータセットには 67 個の変数があるため、入力してフォーマットする必要がなかったことに注意してください。それらすべてを個別に。

また、このデータセットを Excel テンプレートに出力し、そのテンプレートを C ドライブの別の場所に別のファイル名で保存する方法はありますか?

ありがとう!

4

2 に答える 2

2

太陽の下ですべての DDE オプションを試した後、最終的に LRECL に出会いました。

そう、

options noxwait noxsync;
x '"c:\Template.xls"'; /* <--excel template to use*/
filename template dde 'excel|Leaflets!r6c1:r183c67' notab **LRECL=3000**;   /*put data in rows 6 to 183 in leaflets sheet*/


data LEAF.results; set LEAF.results;
file template ;
     put StartDate   EndDate   product_code   Description   Leaflet  Media  
         /*and the remaining 61 variables*/    
run;

各セルで許可されているデフォルトの文字数が短すぎると推測しているので、許可される長さを増やすと、各セルが複数のセルに分割されなくなりますか?

ソース: http://support.sas.com/resources/papers/proceedings11/003-2011.pdf

于 2013-09-03T09:39:16.530 に答える
1

file template ;タブの区切り文字、つまりfile template dlm='09'x;;を使用するように変更してみてください。

また、ファイル名に「notab」を追加します。 filename template dde ​​'excel|Leaflets!r6c1:r183c67' notab;

于 2013-08-15T14:33:06.610 に答える