Нужен ответ на этот практический вопрос SAS, с объяснением, если это возможно - PullRequest
0 голосов
/ 19 июня 2019

Вы пытаетесь прочитать файл необработанных данных, и в журнале SAS отображаются следующие сообщения:

NOTE: Invalid data for Salary in line 4 15-23.
RULE:     ----|----10---|----20---|----30---|----40---|----50-
4         120104   F    46#30     11MAY1954 33
Employee_Id=120104 employee_gender=F Salary=. birth_date=-2061 _ERROR_=1 _N_=4
NOTE: 20 records were read from the infile ‘c:employees.dat’.
      The minimum record length was 33.
      The maximum record length was 33.
NOTE: The data set WORK.EMPLOYEES has 20 observations and 4 variables

Что это значит?

A. A compiler error, triggered by an invalid character for the variable Salary.
B. An execution error, triggered by an invalid character for the variable Salary.
C. The 1st of potentially many errors, this one occurring on the 4th observation.
D. An error on the INPUT statement specification for reading the variable Salary.

1 Ответ

1 голос
/ 20 июня 2019

Рассматривая проблему:

ПРИМЕЧАНИЕ: неверные данные для оклада в строке 4 15-23.

Это примечание, которое вы получаете, когда у вас есть вводоператор из файла или данных, и вы ожидаете числовое значение, но встретите нечисловое значение, которое не может быть считано в это поле (или что-то другое, что не соответствует ожидаемому информату).

D,Ошибка в спецификации оператора INPUT для чтения переменной Salary.

Мне кажется, это лучший ответ, в зависимости от того, как вы анализируете текст ответа.

  • (А) относится к ошибкам компилятора, которые означают, что они возникают до того, как будут считаны какие-либо данные - это, конечно, не так, проблема заключается в данных.
  • (B) - другой возможный ответ;Конечно, это время выполнения, и оно действительно вызвано неверным символом в данных, но мне не нравится, как этот ответ сформулирован, и я думаю, что он не ясен.
  • (C) неверно, потому что этоединственная ошибка, которую вы видите ...
  • (D) является наиболее точной, я полагаю, если вы предполагаете, что ваши данные в любом случае верны.Вполне возможно, что оператор Input верен, а ваши данные неверны;в этом случае это будет указывать на (B) правильный ответ.
...