hallo, folgendes Problem:
ich führe per syntax eine rechnung aus:
COMPUTE NEUE_VAR =
(A1 * B1 * C1+ A2 * B2 * C1+ A3 * B3 * C3) / VAR_XYZ
EXE.
vorher hab ich alle Fälle in dehnen VAR_XYZ=0 ausgeschlossen.
Die rechnung wird auch wie gewünscht ausgeführt, trotzdem erscheint in der Ausgabe für jeden ausgeschlossenen fall die Warnung:
>Warning # 511
>A division by zero has been attempted on the indicated command. The result
>has been set to the system-missing value.
>Command line: 1169 Current case: 1 Current splitfile group: 1
Wie gesagt es funktioniert ja, aber die Warnungen stören mich einfach. Hatt jemand eine idee warum sie auftauchen ???
Fehlermeldung, trotz ausgeschlossener Fälle
-
- Beiträge: 27
- Registriert: 07.08.2007, 13:00
-
- Beiträge: 27
- Registriert: 07.08.2007, 13:00
korrektur
es muss natürlich heissen:
Code: Alles auswählen
COMPUTE NEUE_VAR =
(A1*B1*C1 + A2*B2*C2 + A3*B3*C3) / VAR_XYZ
EXE.
-
- Beiträge: 18
- Registriert: 27.11.2008, 13:25
Hi,
versuch mal:
if (var_xyz ~=0) neue_var = sum(A1*B1*C1, A2*B2*C2, A3*B3*C3) /vary_xyz .
Sollte besser gehen.
PS: Punkt am Ende jedes Befehls nicht vergessen, sonst nervt er auch.
PS2: wie hast Du eigentlich "ausgeschlossen"? Filter und split haben da keine Auswirkung. Das musst Du immer über do if - end if. oder als Abkürzung if ... machen.
versuch mal:
if (var_xyz ~=0) neue_var = sum(A1*B1*C1, A2*B2*C2, A3*B3*C3) /vary_xyz .
Sollte besser gehen.
PS: Punkt am Ende jedes Befehls nicht vergessen, sonst nervt er auch.
PS2: wie hast Du eigentlich "ausgeschlossen"? Filter und split haben da keine Auswirkung. Das musst Du immer über do if - end if. oder als Abkürzung if ... machen.
-
- Beiträge: 27
- Registriert: 07.08.2007, 13:00
dankeschön,
das ganze mit if zu machen hatte ich auch schon probiert, trotzdem kahm immer diese warnung. was aber daran lag, dass ich weiter unten in der syntax noch weitere befehle hatte bei dehnen dann eben auch durch var_xyz geteilt wurde, auch wenn diese 0 ist. nun hab ich alle (!) compute durch if ersetzt und die warnung bleibt aus.
hab also einfach nicht aufgepasst.
das ganze mit if zu machen hatte ich auch schon probiert, trotzdem kahm immer diese warnung. was aber daran lag, dass ich weiter unten in der syntax noch weitere befehle hatte bei dehnen dann eben auch durch var_xyz geteilt wurde, auch wenn diese 0 ist. nun hab ich alle (!) compute durch if ersetzt und die warnung bleibt aus.
hab also einfach nicht aufgepasst.
-
- Beiträge: 939
- Registriert: 13.05.2008, 10:52
ich bin der meinung, dass du diese fälle dann auch nicht per befehl löschen kannst. entweder ist die bedingung "berechenbar", dann funktioniert sowohl filter als auch löschen. oder etwas ist falsch an der bedingung und dann funktioniert weder filtern noch löschen. welche fälle kannst du denn nicht ausschliessen?