Loops 自定义表在SPSS中查找-构建循环

Loops 自定义表在SPSS中查找-构建循环,loops,syntax,spss,Loops,Syntax,Spss,我在SPSS中使用自定义表函数来构建表。现在,我得到了表的理想配置,语法如下所示: DATASET ACTIVATE DatenSet2. * Benutzerdefinierte Tabellen. CTABLES /FORMAT EMPTY=ZERO MISSING='.' MINCOLWIDTH=1.27 MAXCOLWIDTH=2.54 UNITS=CM /SMISSING VARIABLE /VLABELS VARIABLES=Q3 DISPLAY=NONE /VLABE

我在SPSS中使用自定义表函数来构建表。现在,我得到了表的理想配置,语法如下所示:

DATASET ACTIVATE DatenSet2.
* Benutzerdefinierte Tabellen.
CTABLES
  /FORMAT EMPTY=ZERO MISSING='.' MINCOLWIDTH=1.27 MAXCOLWIDTH=2.54 UNITS=CM
  /SMISSING VARIABLE
  /VLABELS VARIABLES=Q3 DISPLAY=NONE  /VLABELS VARIABLES=gruppebreak regbreak sexbreak alterbreak 
    bildbreak erwerbbreak DISPLAY=LABEL
  /TABLE Q3 [C][COUNT F40.0, COLPCT.COUNT PCT40.1] BY Q3 [C] + gruppebreak [C] + regbreak [C] + 
    sexbreak [C] + alterbreak [C] + bildbreak [C] + erwerbbreak [C]
  /SLABELS POSITION=ROW VISIBLE=NO
  /CATEGORIES VARIABLES=Q3 [1, 2] EMPTY=EXCLUDE TOTAL=YES LABEL='Total' POSITION=AFTER
  /CATEGORIES VARIABLES=gruppebreak regbreak sexbreak alterbreak bildbreak erwerbbreak ORDER=A 
    KEY=VALUE EMPTY=INCLUDE
  /TITLES
    TITLE=')TABLE'.
在此语法中,
Q3
是我根据6个不同标准分析的变量。这六个一直保持不变。我的问题是我有300个变量,比如
Q3
,我想为它们生成表。我想问的是,是否有可能构建一个“循环”,在分析所有变量之前,将数据集中的其他变量替换为
Q3


提前感谢您……

我不确定您将如何处理这些输出,但您可以将其生产自动化

最简单的是,您可以为CTABLES语法定义一个宏,该宏只接受一个参数,即变量名,并提供所有其他参数

这仍然让您需要调用宏300次


如果您已经通过SPSS社区网站(www.ibm.com/developerworks/spssdevcentral)安装了用于统计的Python Essentials,那么您可以将语法嵌入一个小型Python程序中,该程序迭代所有感兴趣的变量。

这里我将循环定义为“LOOP1”。您可以对前两行使用这种确切的语法,它只是样板。接下来,我放置要生成的表。任何你能看到的地方!循环中的当前变量将被放入其中。这个!“还有”!ENDDEFINE'也是样板文件,您可以将其留下。到目前为止,只需将您的表替换为我的表,并将Q3替换为!我喜欢你桌子上的任何地方。最后一部分,我写了loop1q1q2。。。这就是我现在调用循环的地方。这是你将要循环的300个变量放在这里的地方。必须在变量列表后面加上正斜杠(/)和句点

DEFINE LOOP1(!POS !CHAREND('/')).

!DO !i !IN (!1).

CTABLES

  /VLABELS VARIABLES = !i age_groups_1 DISPLAY=BOTH

/TABLE !i [C] BY age_groups_1 [C][COLPCT.COUNT PCT40.1, COLPCT.COUNT.LCL PCT40.1, 
    COLPCT.COUNT.UCL PCT40.1, UCOUNT F40.0]

/SLABELS POSITION=ROW

/CATEGORIES VARIABLES=!i [1, 2] EMPTY=EXCLUDE TOTAL=YES POSITION=AFTER

/CATEGORIES VARIABLES=age_groups_1 ORDER=A KEY=VALUE EMPTY=INCLUDE

/CRITERIA CILEVEL=95.

!DOEND.

!ENDDEFINE.

LOOP1 Q1 Q2 Q3 Q4 Q5A Q5B Q5C Q5D Q5E Q6 Q6_dummy Q6_recode Q7_01 Q7_02 Q7_03 Q7_04 Q7_05 Q7_06 Q7_07 
Q7_08 Q7_09 Q7_10 Q7_11 Q7_12 Q7_13 Q8A Q8B Q8C Q9 Q10 Q11_1 Q11_2 Q11_3 Q11_4 Q11_5 Q12 Q13_1 
Q13_2 Q13_3 Q13_4 Q13_5 Q13_6 Q13_7 Q14 Q15A Q15B Q15C Q15D Q15E Q15F Q15G Q15H Q16A Q16B Q16C Q16D 
Q16E Q16F Q16G Q17 Q18 Q19 Q20_1 Q20_2 Q20_3 Q20_4 Q20_5 Q20_6 Q21A Q21B Q21C Q21D Q21E Q21F 
Q22_C01 Q22_C02 Q22_C03 /.