относительно значения слова "положить" в SAS - PullRequest
2 голосов
/ 02 февраля 2011

что означает следующее утверждение SAS?

select(substr(put(customerID, 4.),3,2));

В особенности, что означают три параметра 4., 3 и 2?Спасибо

Ответы [ 2 ]

3 голосов
/ 02 февраля 2011

Вы сначала конвертируете customerID в символьный формат, чтобы из него можно было извлечь строку, используя функцию substr.

put(customerID, 4.)

Преобразует числовое значение в символьное значениедлина 4.

substr(myvar,3,2)

Возвращает подстроку длины 2, начиная с позиции 3 (слева) строки myvar.В SAS самый первый символ слева - это позиция 1, по сравнению с большинством других языков программирования и мира информатики, где вы начинаете с 0. myvar ДОЛЖЕН быть символьной (строковой) переменной.

I 'Я не знаком с функцией select (), но ваш вопрос, похоже, направлен на функции substr и put.

1 голос
/ 07 февраля 2011

SELECT выглядит так, как будто он является частью оператора case, где ваша логика будет разветвляться в зависимости от того, что содержится в функции select:

Пример:

select (a);
   when (1) x=x*10;
   when (2);
   when (3,4,5) x=x*100;
   otherwise;
end;
...