SPSS:根据文件B中的数据为宏变量赋值;并且可以在文件A的程序中稍后调用和使用

时间:2013-06-12 16:03:17

标签: spss

我需要能够首先计算商品总数(TGC)和坏商品(TBC)。其次,将值存储在单独的数据集(文件B)中,并有效地使用2个变量(TGC,TBC)进行一次观察。 然后我需要能够在文件A的计算中使用保存的变量(TGC和TBC)。 我已经设法通过将值TGC和TBC分配给宏变量来在SAS中执行此操作,然后可以在程序中稍后使用。

如何在SPSS中执行此操作?

对于第一部分,我可以使用简单的AGGREGATE创建TGC和TBC值。但是,我无法找到创建宏变量来存储这些值的方法。 有人可以帮忙吗?

谢谢。

2 个答案:

答案 0 :(得分:0)

根据您的需要,您可以使用AGGREGATE的功能,将聚合变量添加到输入数据集中的每个案例中,以便使用普通的转换语言访问它们。

但是将这些值直接合并到语法中对宏设施来说非常困难。但是,使用Python可编程性(参见SPSS社区网站www.ibm.com/developerworks/spssdevcentral)可以轻松完成此操作,该网站可以读取辅助数据集并使用其内容生成适当的语法。站点中也提供的extendedTransforms.py模块提供了一个允许您将辅助数据集用作查找表的功能。

答案 1 :(得分:0)

有两种解决方案。

1)正如@JKP所说。可以将常量作为变量添加到数据文件中,然后再使用。

2)没有一种直接的方法可以将数据的值定义为宏值。以下是使用WRITE OUT和INCLUDE如何实现的一个小例子。

do if $casenum=1.
write out="C:\temp\incl.sps"
 /"define !TGC() " TGC " !end.".
end if.
exe.

include "C:\temp\incl.sps".

最后,应定义宏!TGC,其值等于变量TGC的第一个值。