2016-07-26 2 views
0

Я пытаюсь сравнить два листа Excel (две разные книги). 1) Я импортировал оба файла - отлично 2) Я написал код в SAS и это производит правильный выводКак вывести сравнение для некоторых столбцов только с помощью SAS?

Теперь я хотел бы для него только сравнения вывода для этих заголовков столбцов, которые имеют слово «самый большой» в нем.

Вот код:

PROC COMPARE 
BASE=WORK.DATA_201605 
COMPARE=WORK.DATA_201606 
out=dif 
outbase 
outcomp 
outnoequal 
listall 
OUTDIF 
METHOD=PERCENT 
CRITERION=10.00 maxprint=(1000); 
ID Mainid; 
run; 

ответ

0

Вы пробовали заявление VAR? Наряду с двоеточием, чтобы сократить ваш префикс. Что-то вроде:

Var biggest: ; 
+0

У меня есть много столбцов со словом крупнейшим в них. Поэтому мне нужны сравнения только для столбцов, в которых есть слово «самый большой». Как мне изменить код? Извините, я довольно новичок в SAS. – Camille

+0

Двоеточие сообщает SAS, чтобы посмотреть на все столбцы, которые начинаются с самого префикса. Добавьте эту строку к вам, чтобы сравнить ее перед операцией Run. – Reeza

+0

Я прочитал его, как начинается с самого большого. Если самый большой может быть где угодно в названии, это не сработает. – Reeza

1

Используйте вид dictionary.columns SQL для определения столбцов:

 
proc sql ; 
    select distinct name into :VARLIST separated by ' ' 
    from dictionary.columns 
    where libname = 'WORK' 
    and memname = 'DIF' 
    and upcase(name) like '%BIGGEST%' ; 
quit ; 

proc print data=dif ; 
    var &VARLIST ; 
run ; 
+0

Чтобы быть более явным, это закончилось бы после 'PROC SQL' для фильтрации/выбора переменных в вашем коде:' PROC COMPARE BASE = WORK.DATA_201605 (keep = & VARLIST.) COMPARE = ​​WORK.DATA_201606 (keep = & varlist.). ..'. –

Смежные вопросы