Macros Ctables宏是spss

Macros Ctables宏是spss,macros,spss,Macros,Spss,我有一个包含100个变量的表(我在这里仅复制了8个变量作为示例),我想将其转换为一个宏,在该宏中,我只能插入第一个变量编号(1)和最后一个变量编号(100),并运行该表,其中只有一行或两行(而不是100行)。 有人知道怎么做吗 CTABLES /VLABELS VARIABLES=Loop1_a_01 var1 DISPLAY=DEFAULT /TABLE var1 [C][ROWPCT.COUNT F40.0] + var2 [C][ROWPCT.COUNT F40.

我有一个包含100个变量的表(我在这里仅复制了8个变量作为示例),我想将其转换为一个宏,在该宏中,我只能插入第一个变量编号(1)和最后一个变量编号(100),并运行该表,其中只有一行或两行(而不是100行)。 有人知道怎么做吗

CTABLES
  /VLABELS VARIABLES=Loop1_a_01 var1 DISPLAY=DEFAULT
  /TABLE var1 [C][ROWPCT.COUNT F40.0] +
         var2 [C][ROWPCT.COUNT F40.0] + 
         var3 [C][ROWPCT.COUNT F40.0] + 
         var4 [C][ROWPCT.COUNT F40.0] + 
         var5 [C][ROWPCT.COUNT F40.0] +
         var6 [C][ROWPCT.COUNT F40.0] + 
         var7 [C][ROWPCT.COUNT F40.0] + 
         var8 [C][ROWPCT.COUNT F40.0]  BY Loop1_a_01 
  /CATEGORIES VARIABLES=Loop1_a_01 EMPTY=INCLUDE
  /CATEGORIES VARIABLES=var5 ORDER=A KEY=VALUE
  EMPTY=INCLUDE
  /TITLES TITLE= 'TV'

.

由于您对所有变量使用相同的统计信息,您可以通过分解重复的统计信息来简化ctables代码,例如。, /表(var1+var2+…)[ROWPCT.COUNT F40.0]按。。。 现在,如果您想在名称类似于varnn的数据集中包含所有变量,可以使用SPSSINC SELECT variables扩展命令生成宏,从而实现自动化。例如
SPSSINC选择变量宏名称=“!myvars”
/属性PATTERN=“var‎\‏d+“
/选项分隔符=“+”
克塔布尔 /表(!myvars)[


可以编写一个更复杂的宏来生成!myvars,但是如果您需要附加逻辑,那么使用Python可编程性生成宏会容易得多。

谢谢您的回答,但我在这里找到了解决方案: