Аккумуляторные переменные и их использование - PullRequest
0 голосов
/ 03 ноября 2018

Я пытаюсь проверить, как работают переменные аккумулятора, и я создал следующую программу.

data numbers;
input n;
cards;
10
20
40

50
;

data newnums;
 infile numbers;
  input tens;
 count+tens;
run;

proc print data=newnums;
run;

Я специально поставил пустые строки. Однако помимо этого я думал, что программа будет выполнена.

Я хочу выяснить последнее значение переменной count, но я не могу ... можно мне помочь, пожалуйста?

1 Ответ

0 голосов
/ 03 ноября 2018

в вашем коде есть несколько вещей, которые нужно изменить.

  1. пропущенное числовое значение представляется как . символ
  2. набор данных ссылается с помощью оператора set, а не infile
  3. переменная-аккумулятор, о которой вы говорите, является оператором sum, она сохраняет значение, если у вас пропущено значение, и больше в операторе суммы по ссылке ниже.

Разница между оператором SUM и переменной суммы в SAS?

data numbers;
input n;
cards;
10
20
40
.
50
;

data newnums;
set numbers;
count+n;
run;

proc print data=newnums;
run;

Edit1: если у вас есть что-то ниже, вы получите недостающее значение, используя truncover

   data numbers;
   infile datalines truncover;
   input n;
  cards;
  10
  20
  40

  50

  ;
...