Я сталкиваюсь с проблемой, с которой я никогда не сталкивался прежде, и я не могу понять, что происходит.
Я пытаюсь вычислить переменную следующим образом:
COMPUTE A=$SYSMIS.
IF B=$SYSMIS A=$SYSMIS.
IF C > SUM(B, 1) A= 1.
IF C = SUM(B, 1) A= 2.
IF C = B A= 2.
IF C < B A=3.
Это работает нормально, за исключением того факта, что когда B = $ SYSMIS, есть очень четкие примеры A, которые на самом деле не отсутствуют.
Я протестировал его, используя:
TEMP.
SELECT IF B=$SYSMIS.
FREQ A.
Этоговорит мне, что «в эту процедуру не было введено ни одного случая. Либо нет ни одного в рабочем файле данных, или все они были отфильтрованы».
То есть код работал правильно.
Но ... Я обнаружил более 1000 случаев, которые не соответствуют этой логике.
TEMP.
SELECT IF ID=102.
FREQ A B.
Это показывает конкретный идентификатор, которыйимеет A = $ SYSMIS и B = 2.
A, B и C все числовые.
Заранее благодарим залюбое понимание!(