Hi, Thank you for reading. I have a long list with different variables in a macro variable. I want to use that list in a statement like " where variable in ("var1","var2",...) so I can filter rows in a third data set. The vars come from word or somewhere I can't import into SAS. I have to copy and paste this list every time, with different variables. A recap of what I am trying to do: I have dataset A which contains several records with thousands of variable names in a the column "variables". Kind of like: Variable Value1 A 1 A 1 A 2 B 1 B 4 C 45 C 56 C 4 F 4 D 2345 D 22 I need to filter the rows that contain the Variable "A","C", and "F". This is a very simple task, the problem is that the people who will use the macro can only paste the variables they want on %let vars= A C F ; Having said that, my code is as follows: %let vars= Sxxxf_w Sxxxa_w Sxxxs_w Slxxs_w rSddd_w Sfssss_w Sssss_w Sfffb_w Sjjjs_w Sllls_w Ftxxs_w Dfxxs_w Ltxxs_w Ytxxs_w ; /*So I can do something like proc sql; select * from DATA where variable in ("Sxxxf_w", "Sxxxa_w","Sxxxs_w",...) ; quit; */ /*My try is to create a small dataset of one column which contains all the words in my macro variable.*/ data filter_list; input @; _infile_=resolve(_infile_); input vari $ @@ ; datalines; &vars ; run; The problem with this code is that SAS only reads the first 10 lines and if I increase the size of the names, sas reads even less lines. Thank you.
... View more