объединение слева в первых двух словах в строке с помощью разделителя запятых SAS - PullRequest
0 голосов
/ 09 ноября 2018

У меня есть набор данных и словарь, такие как

data have_data;
input y x_1;
datalines;
1 10
2 20
3 30
;
run;

data have_dictionary;
input ID label;
datalines;
X_1 Assets
;
run;

Затем я преобразовываю свой вышеупомянутый набор данных для создания логарифмических и квадратичных преобразований переменных, подобных

data have_transformed;
input y x1 x1_log x1_sq;
datalines;
1 10 1 100
2 20 1.30 400
3 30 1.48 900
;
run;

Затем мне нужно добавить свой словарь для x_1, x_1_log, x_1_sq, я попытался использовать функции scan, trim и substr, но я не могу найти способ сопоставления для 2 из 3 слов, например:

PROC SQL;
CREATE TABLE TESTING_MERGE AS
SELECT
    a.*,
    b.Label
FROM have_T as a
left join have_dictionary as b
on substr(a.x_1,1,2), = b.ID;

бросить курить;

Обратите внимание, я переставил свой рабочий стол, чтобы было удобнее присоединиться к нему

...