MAKE 命令中的问题

Issue in MAKE command

我正在尝试使用 VARSTOCASES 命令重组一个 .sav 文件,我从 IBM 站点获得了一种语法,但我没有得到任何相同的示例所以我尝试了一些变量但它不起作用,任何人都可以帮助

来自 IBM 站点的实际语法

VARSTOCASES

/MAKE new variable ["label"] [FROM] varlist [/MAKE ...]

[/INDEX = {new variable ["label"]                                  }]
      {new variable ["label"] (make variable name)             }
      {new variable ["label"] (n) new variable ["label"](n) ...}

[/ID = new variable ["label"]]

[/NULL = {DROP**}]
     {KEEP  }

[/COUNT=new variable ["label"]]

[/KEEP={ALL**  }] [/DROP=varlist] 
   {varlist}

我的代码

GET
FILE='D:\SPSStoCSV\FileFormator\bin\FILES\Argentina\Temp.sav'.
DATASET NAME DataSet1 WINDOW=FRONT.

VARSTOCASES
/MAKE new variable VariableName1 [FROM] varlist [/MAKE  Purchp6m_2 Purchp6m_4]

[/INDEX = {new variable VariableName1                                  }]
      {new variable VariableName1 (make variable name)             }
      {new variable VariableName1 (3) new variable VariableName1(3) ...}

[/ID = new variable VariableName1]
[/NULL = {DROP**}]
         {KEEP  }
[/COUNT=new variable VariableName1]

[/KEEP={ALL**  }] [/DROP=varlist] 
     {varlist}.

SAVE TRANSLATE OUTFILE='C:\Users522\Desktop\Temp.csv'
/TYPE=CSV
/ENCODING='UTF8'
/MAP
/REPLACE
/FIELDNAMES
/CELLS=VALUES.

这里我想在 KEEP 命令中保留除这 2(Purchp6m_2 Purchp6m_4) 之外的所有变量,这里我有大约 150 个变量,而不是在 KEEP 中保留所有 148 个变量名称命令我正在尝试像 All** 和 DROP 命令,但这是在不重组任何 variables.I 的情况下提供所有数据,我试图避免在 KEEP 命令中添加所有剩余变量。

首先,删除方括号和大括号 []{}。它们在 IBM 网站上仅用于表示可选参数和变量列表;它们不是语法本身的一部分。

其次,你不能在变量名中使用空格,所以new variable应该是new_variable

第三,你多次使用new_variable,这是错误的。您需要为这些变量分配实际名称。

您的代码必须是这样的:(尽管我和您可能都不太清楚为什么需要所有可选参数):

GET
FILE='D:\SPSStoCSV\FileFormator\bin\FILES\Argentina\Temp.sav'.
DATASET NAME DataSet1 WINDOW=FRONT.

VARSTOCASES
/MAKE Purchp6m "Purchp6m" FROM Purchp6m_2 Purchp6m_4
/INDEX = index_variable "Index variable"
/ID = id_variable "Variable ID"
/NULL = KEEP
/COUNT=count_variable "Count VAriable"
/KEEP=ALL.
EXECUTE.

SAVE TRANSLATE OUTFILE='C:\Users522\Desktop\Temp.csv'
/TYPE=CSV
/ENCODING='UTF8'
/MAP
/REPLACE
/FIELDNAMES
/CELLS=VALUES.

KEEP=ALL是默认的,所以你实际上不需要指定它