Hello All, I am struggling to merge 7 datasets. I am trying to "import" 6 of the files, which all follow the same formats and columns, into a "master" file, which has more headers. Between the two different "types" of files (the master and the imports), two variables (VAR1 and VAR3) can be the same. In the code below, I have only used VAR1 to identify the observations, and it does not matter if VAR3 is replaced by other files, as it should be the same. Below illustrates the two different files: Master file: VAR1 VAR2 VAR3 VAR4 VAR5 VAR6 VAR7 VAR8 VAR9 Import files: VAR1 VAR3 VAR10 VAR11 VAR12 I want to maintain all observations (there are more than already noted in the master file), and not all of the observations in the master file will be filled with imported variables. The problem that I am facing is it seems that the merge is occurring, but the data that existed in the master file is deleted. If someone could help find the error in my code? I know it is more complicated than it needs to be; I am still rather new to SAS and am teaching myself. Thank you, Briana proc import out = Database datafile = "X:\My SAS Files\9.3\Database" dbms = xls replace; sheet = "Sheet1"; Getnames = yes; run; proc import out = Data1 datafile = "X:\My SAS Files\9.3\Data1" dbms = xls replace; sheet = "Sheet1"; Getnames = yes; run; proc import out = Data2 datafile = "X:\My SAS Files\9.3\Data2" dbms = xls replace; sheet = "Sheet1"; Getnames = yes; run; proc import out = Data3 datafile = "X:\My SAS Files\9.3\Data3" dbms = xls replace; sheet = "Sheet1"; Getnames = yes; run; proc import out = Data4 datafile = "X:\My SAS Files\9.3\Data4" dbms = xls replace; sheet = "Sheet1"; Getnames = yes; run; proc import out = Data5 datafile = "X:\My SAS Files\9.3\Data5" dbms = xls replace; sheet = "Sheet1"; Getnames = yes; run; proc import out = Data6 datafile = "X:\My SAS Files\9.3\Data6" dbms = xls replace; sheet = "Sheet1"; Getnames = yes; run; data Database; set Database; VAR2char = put(VAR2_,20.); drop VAR2_; rename VAR2char = VAR2; run; data Database; set Database; VAR1char = put(VAR1,20.); drop VAR1; rename VAR1char = VAR1; run; data Data1; set Data1; VAR2char = put(VAR2_,20.); drop VAR2_; rename VAR2char = VAR2; run; data Data1; set Data1; VAR1char = put(VAR1,20.); drop VAR1; rename VAR1char = VAR1; run; data Data2; set Data2; VAR2char = put(VAR2_,20.); drop VAR2_; rename VAR2char = VAR2; run; data Data2; set Data2; VAR1char = put(VAR1,20.); drop VAR1; rename VAR1char = VAR1; run; data Data3; set Data3; VAR2char = put(VAR2_,20.); drop VAR2_; rename VAR2char = VAR2; run; data Data3; set Data3; VAR1char = put(VAR1,20.); drop VAR1; rename VAR1char = VAR1; run; data Data4; set Data4; VAR2char = put(VAR2_,20.); drop VAR2_; rename VAR2char = VAR2; run; data Data4; set Data4; VAR1char = put(VAR1,20.); drop VAR1; rename VAR1char = VAR1; run; data Data5; set Data5; VAR2char = put(VAR2_,20.); drop VAR2_; rename VAR2char = VAR2; run; data Data5; set Data5; VAR1char = put(VAR1,20.); drop VAR1; rename VAR1char = VAR1; run; data Data6; set Data6; VAR2char = put(VAR2_,20.); drop VAR2_; rename VAR2char = VAR2; run; data Data6; set Data6; VAR1char = put(VAR1,20.); drop VAR1; rename VAR1char = VAR1; run; proc sort data=Database; by VAR1; run; proc sort data=Data1; by VAR1; run; proc sort data=Data2; by VAR1; run; proc sort data=Data3; by VAR1; run; proc sort data=Data4; by VAR1; run; proc sort data=Data5; by VAR1; run; proc sort data=Data6; by VAR1; run; options mergenoby=error; data MergeAll; merge Database (keep=VAR1 VAR2 VAR3 VAR4 VAR5 VAR6 VAR7 VAR8 VAR9) Data1 Data2 Data3 Data4 Data5 Data6; by VAR1; run; ods tagsets.ExcelXP FILE="X:\My SAS Files\9.3\Data List.xls"; proc print data=MergeAll; run; ods tagsets.ExcelXP CLOSE;
... View more