2

15個のファイルをすべて同じ形式でインポートするマクロを作成しようとしています。名前の形式は「monyyPSFExtract」です。したがって、以下のコードを使用して、Nov11の1ファイルを読み取ることができます。マクロを使用して他の14個のファイルも読み込む方法を見つけようとしました。私はそれを機能させることができないようです。私はSPSSを初めて使用します-SASでこれを行う方法を知っていました。また、作成したデータセットをmonyyという名前に設定したいと思います。また、いくつかの変数の名前をoriginal_name_monyyに変更したいと思います。

誰かがこれについて私を助けてくれますか?

define !XLSFILE() !quote(!con("S:\Credit Risk\Credit Risk\Elisabeth\",!unquote(!eval(!cq)), ".xlsx")) !enddefine.
define !cq(mon = !DEFAULT ("Nov11") !token(1) /name = !DEFAULT ("PSF Extract") !TOKENS(2)) !quo(!con(!unq(!mon),!unq(" "), !unq(!name))) !enddefine.


/* import xlsx file */.
GET DATA
  /TYPE=XLSX
  /FILE=!XLSFILE
  /SHEET=name 'Sheet1'
  /CELLRANGE=full
  /READNAMES=on
  /ASSUMEDSTRWIDTH=32767.

EXECUTE.

DATASET NAME  test WINDOW=FRONT.
4

2 に答える 2

2

マクロ呼び出しでファイル名プレフィックスのリストを渡し、ファイルのロードをループできます。以下は、私がこれにどのようにアプローチするかです。月のリストを渡す必要があるという点で少し制限がありますが、かなり簡単なタスクです。

*******************************************************.
DEFINE !XLSFILE(location = !TOKENS(1)
                /names = !CMDEND).

!DO !monthfile !IN (!names)

!LET !XLSFILE = !QUOTE(!CONCAT(!UNQUOTE(!location),!monthfile," PSF Extract.xlsx"))

/* import xlsx file */.
GET DATA
  /TYPE=XLSX
  /FILE=!XLSFILE
  /SHEET=name 'Sheet1'
  /CELLRANGE=full
  /READNAMES=on
  /ASSUMEDSTRWIDTH=32767.
*Name dataset.
dataset name !monthfile.

**PLACE RENAME COMMANDS HERE.
*Example changing [XVAR1] and [XVAR2] to [XVAR1_monyy] and [XVAR2_monyy].
rename variables (XVAR1 = !CONCAT("XVAR1","_",!monthfile))
(XVAR2 = !CONCAT("XVAR2","_",!monthfile)).

!DOEND.

*now do whatever you want with the datasets, eg add files them together.
!ENDDEFINE.
*******************************************************.

*call the macro.
set mprint on.
!XLSFILE location = "S:\Credit Risk\Credit Risk\Elisabeth\"
names = Jan11 Feb11 Mar11 Apr11 May11 Jun11 Jul11 Aug11 Sep11 Oct11 Nov11 Dec11. 
于 2013-02-11T17:36:53.837 に答える
0

別の方法は、ワイルドカード式でPythonプログラマビリティを使用して、指定された名前パターンで特定の場所にあるすべてのファイルを取得することです。より柔軟になり、マクロと格闘する必要がなくなります。詳細については、SPSS Communityサイト(www.ibm.com/developerworks/spssdevcentral)のBooksandArticlesセクションからProgrammaingandDataManagementの本をダウンロードしてください。

于 2013-02-12T13:57:49.130 に答える