我试图从一个数字产品密钥中提取一个国家ID,该密钥有2种类型:
对于SAS EG 7.1 1.一个7-8位键,前2位-3位表示国家ID。也就是说,对于美国国家代码36,产品key= 36XXXXX。
印度国家代码121,产品key= 121XXXXX
为IN,产品Key= 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;它适用于第一类型的7-8位产品键,但不适用于较长的13位键。它显示了一个十进制在国家id,即美国,X036XXXX,而它应该只有36。
我需要更改数据类型吗??
发布于 2019-04-16 15:21:16
您应该包括一些示例数据,这样您的问题就可以准确地显示出您正在遇到的问题以及您期望的是什么,但我认为您所需要的只是将country_id转换为数字:
country_id = input(substr(key, 2, 3), best.);您的当前代码实际上只是将三个字符'036‘作为文本值存储在country_id中;input()函数将其转换为数字。
https://stackoverflow.com/questions/55711377
复制相似问题