Я пытаюсь извлечь идентификатор страны из числового ключа продукта, который имеет 2 типа:
Для SAS EG 7.1
1. 7-8-значный ключ с первыми 2-3 цифрами, обозначающими идентификатор страны.
т.е. для США с кодом страны 36, ключ продукта = 36XXXXX
Для Индии с кодом страны 121, ключ продукта = 121XXXXX
- 13-значный ключ с 2-й, 3-й, 4-й цифрой, обозначающей идентификатор страны
то есть для США, ключ продукта = X036XXXXXXXXX
Для IN, ключ продукта = X121XXXXXXXXX
Используя следующий код, чтобы получить это:
data want;
set have;
if length(key)>8 THEN COUNTRY_ID=substr(key), 2,3);
else COUNTRY_ID=substr(key,1,length(key)-5);
run;
Работает для 1-го типа с 7-8-значным ключом продукта, но не для более длинных 13-значных ключей. Показывает десятичное число в идентификаторе страны
то есть для США, X036XXXX, тогда как должно быть только 36.
Нужно ли менять тип данных ??