Liebe Gemeinde,
ich habe einen Datensatz folgendermaßen bearbeitet:
SELECT IF (BAP107 = 1 & BAP05 = 3 & BAP09 = 4 & BAP82A03 <= 450) AND (BAP107 = 1 & BAP05 = 3 & BAP09 = 4 & BAP82C03 <= 450). EXECUTE.
und im neuen Datensatz dann eine Variable berechnet:
COMPUTE BAP82A03_13prozent=BAP82A03 * 0.13. EXECUTE.
Jetzt möchte mein Chef aber, dass ich den SELECT IF-Befehl mittels Fälle auswählen umsetze. Das habe ich probiert, jedoch komme ich nicht zum richtigen Ergebnis.
USE ALL.
COMPUTE filter_$=((BAP107 = 1 & BAP05 = 3 & BAP09 = 4 & BAP82A03 <= 450) & (BAP107 = 1 & BAP05 =
3 & BAP09 = 4 & BAP82C03 <= 450)).
VARIABLE LABELS filter_$ '(BAP107 = 1 & BAP05 = 3 & BAP09 = 4 & BAP82A03 <= 450) & (BAP107 = 1 '+
'& BAP05 = 3 & BAP09 = 4 & BAP82C03 <= 450) (FILTER)'.
VALUE LABELS filter_$ 0 'Not Selected' 1 'Selected'.
FORMATS filter_$ (f1.0).
FILTER BY filter_$.
EXECUTE.
IF (filter_$ = 1) BAP82A03_13prozent=BAP82A03 * 0.13. EXECUTE.
FILTER OFF.
USE ALL.
EXECUTE.
Die Ergebnisse sind von Grund auf verschieden mit dem ersten Vorgehen!!! Was ist da falsch? Ich denke, dass es an der Filterregel liegt, aber wie setze ich diese für "Fälle auswählen" richtig um? Der Filter muss genau so geschehen, wie eben unter SELECT IF...
Brauche da dringend Hilfe...
SELECT IF mit "Fälle auswählen" umsetzen..?
-
kamil1983
- Beiträge: 4
- Registriert: 27.06.2013, 11:48
-
Frido
- Beiträge: 346
- Registriert: 25.09.2012, 15:04
So ganz grundsätzlich: Wenn du den Filter eingschaltet hast (FILTER BY filter_$. ), dann brauchst du das hier "IF (filter_$ = 1)" nicht mehr.
Vielleicht liegt der Unterschied ja auch in der unterschiedlichen Basis, die du anschließend verwendest. Denn nach dem "Filter off" werden ja wieder alle Fällle verwendet und bei dem "select if" erstmal nicht ...
Vielleicht liegt der Unterschied ja auch in der unterschiedlichen Basis, die du anschließend verwendest. Denn nach dem "Filter off" werden ja wieder alle Fällle verwendet und bei dem "select if" erstmal nicht ...



