Я импортирую DBF-файл в SAS, который содержит несколько столбцов даты. Я хочу сделать некоторые проверки на некоторых из этих колонн, таких как:SAS Дата выпуска с импортированным DBF-файлом
- 1) DATA_NASC является> 01.01.1900
- 2) DATA_NASC является < сегодня()
- 3) DATA_INI_V является> DATA_FIM_V
В моем файле DBF столбцы даты отформатированы как «dd/mm/yyyy» (бразильский стандартный формат). Например, у меня в первом ряду:
- DATA_NASC = 16/06/1940
- DATA_INI_V = 01/04/1995
- DATA_FIM_V = 01/04/2005
Ниже приведен фрагмент импорта DBF.
Идея заключается в создании правил проверки (макроса для каждого правила) для проверки дат.
data inputs;
call symput('campo1', "DATA_INI_V");
call symput('campo2', "DATA_FIM_V";
call symput('sistema2', "PVR_SUPERVIDA");
call symput('hoje', %sysfunc(today(),ddmmyy10.));
run;
filename inf "/folders/myfolders/BVP Data Quality/PVR_SUPERVIDA_201408.DBF";
proc dbf db4=inf out=test;
Теперь я хотел бы сделать несколько простых SELECT COUNT (*), чтобы подсчитать общее число регистров и число недействительных регистров. Что-то вроде:
proc sql print;
SELECT COUNT(*) from test where &campo1 < '01/01/1900';
SELECT COUNT(*) from test where &campo1 < '01/01/1900' and &campo1 > TODAY();
SELECT COUNT(*) from test where &campo1 > &campo2;
run;
Как мои даты столбцов в файле DBF считываются как текст в SAS, я не могу управлять, чтобы сравнить значения даты.
Любые предложения?
Спасибо.
Можете ли вы опубликовать процедурный содержимое результат на импортируемые набора данных? – Reeza