首页 > 解决方案 > MAKE 命令中的问题

问题描述

我正在尝试使用 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:\Users\10522\Desktop\Temp.csv'
/TYPE=CSV
/ENCODING='UTF8'
/MAP
/REPLACE
/FIELDNAMES
/CELLS=VALUES.

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

标签: spss

解决方案


首先,删除方括号和大括号[]和。它们在 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:\Users\10522\Desktop\Temp.csv'
/TYPE=CSV
/ENCODING='UTF8'
/MAP
/REPLACE
/FIELDNAMES
/CELLS=VALUES.

KEEP=ALL是默认值,因此您实际上不需要指定它


推荐阅读