我有一些SAS代码将正则表达式应用于拉出类别ID的URL字符串。
变量看起来像这样:
网址
http://www.mywebsite.com/family/index.jsp?categoryId=61765546&cp=1766205&ab=en_US_MLP_SLOT_1_S1_SHOP
http://www.mywebsite.com/shop/index.jsp?categoryId=62593996&AB=en_US_HP_S2_Men_slot_1_S2_ShopNow
我应用此代码:
data Want;
set have;
category_Id=input(prxchange('s/.+categoryId=(\d+).+/$1/o',-1,URL), 12.);run;
我明白了:
category_Id
61765546
62593996
我实际拥有的数据集有很多网址变量 - URL_1 ,网址_2> ,网址_3 ......等等。最多可以有80个URL变量,也可能是10个。
我需要做的是从所有URL变量中提取类别ID,然后按Campaign_Name转置它们。
数据看起来像这样。
Campaign_Name URL_1 URL_2 URL_3 URL_4
Summer Campaign http://www.mywebsite.com/family/index.jsp?categoryId=61765546 http://www.mywebsite.com/shop/index.jsp?categoryId=62593996&AB=en_US_HP_S2_Men_slot_1_S2_ShopNow http://www.mywebsite.com/family/index.jsp?categoryId=62593846&cp=1766205&ab=ln_men_cs_thetrend:tropicalprints http://www.mywebsite.com/family/index.jsp?categoryId=62594006&cp=1766205
我的最终输出需要如下所示:
Campaign_Name category_Id
Summer Campaign 61765546
Summer Campaign 62593996
Summer Campaign 62593846
Summer Campaign 62594006
我假设你会使用数组,但我不确定如何编程。