私はインターネットを磨き、必要なものを正確に見つけることができません。 SASプログラムの最後に、ods package
メソッドを使用して最終データセット(20GB)を圧縮しました。私のデータセットは、現在、必要に応じてzipフォルダに格納されます。さて、解凍してそのファイル.sas7bdat
を読み込みたいのですが、その方法についてはあまりよく分かりません。SASは1つのsas7bdatファイルを解凍します
以下は、永続的なSASデータセットを作成し、それを圧縮する例です。 Iそのzipファイルの中に見て、私は必要なデータセット「を参照してください。」ことができるが、私はそれを解凍し、それを読むためにどのようには考えている:あなたは基本的にZIPの外にファイルをコピーする必要があり
** assign your path **;
libname output "H:\SAS Example Code";
%let path = H:\SAS Example Code;
** test data **;
data output.class; set sashelp.class; run;
** zip the permanent SAS dataset **;
ods package(zip) open nopf;
ods package(zip)
add file="&path./class.sas7bdat";
ods package(zip)
publish archive
properties(
archive_name= "sashelp.class.zip"
archive_path="&path."
);
ods package(zip) close;
/* BELOW THIS LINE NEEDS WORK -- HOW DO I READ IN THIS DATASET? */
** assign filename and point to zip file **;
filename inzip zip "&path./sashelp.class.zip";
** view the .sas7bdat file within the zip file **;
data contents(keep=memname);
length memname $200;
fid=dopen("inzip");
if fid=0 then stop;
memcount=dnum(fid);
do i=1 to memcount;
memname=dread(fid,i);
output;
end;
rc=dclose(fid);
run;
これを行うネイティブな方法には気づいていません。あなたはunzipコマンドをOSにパイプしなければならないと思います。あなたはその能力を持っていますか? – Joe
zipファイルではなく、compress = YESを追加するか、オプションの代わりにCPTまたはXPTファイルを使用しますか?次に、ファイルにアクセスする簡単な方法があります。 – Reeza
@Joeサーバー権限のために 'X'コマンドを使用することはできませんが、私はスクリプトとバッチ処理にPuTTYを使用します。私の最善の策は、SASを使用して圧縮し、必要なときにPuTTYを使用して解凍することです。 – Foxer