我需要能够首先计算商品总数(TGC)和坏商品(TBC)。其次,将值存储在单独的数据集(文件B)中,并有效地使用2个变量(TGC,TBC)进行一次观察。 然后我需要能够在文件A的计算中使用保存的变量(TGC和TBC)。 我已经设法通过将值TGC和TBC分配给宏变量来在SAS中执行此操作,然后可以在程序中稍后使用。
如何在SPSS中执行此操作?
对于第一部分,我可以使用简单的AGGREGATE创建TGC和TBC值。但是,我无法找到创建宏变量来存储这些值的方法。 有人可以帮忙吗?
谢谢。
答案 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
的第一个值。