2016-04-06 5 views
1

Ich habe eine Funktion zum Ausführen von Chargen von benutzerdefinierten Tabellen definiert:spss benutzerdefinierte Tabellen Absturz, wenn die Reihen-Spalte

DEFINE !xtables (myvars=!CMDEND) 

CTABLES 
/VLABELS VARIABLES=!myvars retailer total DISPLAY=LABEL 
/TABLE !myvars [C][COLPCT.COUNT PCT40.0, TOTALS[UCOUNT F40.0]] BY retailer [c] + total [c] 
/SLABELS POSITION=ROW 
/CRITERIA CILEVEL=95 
/CATEGORIES VARIABLES=!myvars ORDER=D KEY=COLPCT.COUNT (!myvars) EMPTY=INCLUDE TOTAL=YES LABEL='Base' POSITION=AFTER 
/COMPARETEST TYPE=PROP ALPHA=.05 ADJUST=BONFERRONI ORIGIN=COLUMN INCLUDEMRSETS=YES CATEGORIES=ALLVISIBLE MERGE=YES STYLE=SIMPLE SHOWSIG=NO 
!ENDDEFINE. 

I can then run a series for commands to run these in one batch. 

!XTABLES MYVARS=q1. 

!XTABLES MYVARS=q2. 

!XTABLES MYVARS=q3. 

Wenn jedoch eine Tabelle, die die gleiche Zeile und Spalte hat, Custom Tables friert:

! XTABLES MYVARS = Einzelhändler.

Der Schuldige scheint SLABELS zu sein. Ich hatte dieses Problem vor v24 nicht kennengelernt.

Antwort

0

Ich habe versucht, eine CTABLES Spezifikation so nah wie möglich an Ihre zu replizieren und festgestellt, dass VLABELS nicht die gleiche Variable zweimal wie angegeben mag.

GET FILE="C:\Program Files\IBM\SPSS\Statistics\23\Samples\English\Employee data.sav". 
CTABLES /VLABELS VARIABLES=Gender Gender DISPLAY=LABEL 
/TABLE Gender[c][COLPCT.COUNT PCT40.0, TOTALS[UCOUNT F40.0]] 
    BY Gender[c] /SLABELS POSITION=ROW 
/CATEGORIES VARIABLES=Gender ORDER=D KEY=COLPCT.COUNT(Gender) . 

die eine Fehlermeldung ergibt:

VLABELS: Text GENDER. The same keyword, option, or subcommand is used more than once. 
+0

Also entfernte ich den zweiten Verweis auf die Variable aus dem Befehl Variablen. Wenn es gegen eine andere Variable ausgeführt wird, scheint es zu funktionieren. Wenn es gegen sich selbst läuft, stürzt es immer noch ab. –

+0

Abstürze? Bitte beschreiben? Wenn eine Fehlermeldung angezeigt wird, geben Sie bitte Details an. –

+0

Keine Fehlermeldung. Der Prozessor bleibt einfach hängen wie in der Statusleiste angezeigt. –

0

Das Makro ein Parmeter namens MYVARS hat, die die jedoch aufgeführt sind, können mehr als eine Variable legt nahe, wenn Sie das tun, ist es ein generieren ungültiger Befehl. Etwas anderes, auf das man achten sollte. Ich kann die Endlosschleife in V24 sehen. In V23 wird eine Fehlermeldung erzeugt.

Verwandte Themen