%macro i_clean(dsd,yr); data tax_11; infile "&path\&dsd..csv" dlm="," firstobs=3 dsd missover lrecl=50000; input Zipcode :5. Adjusted_gross_income_category :$30. Number_of_returns :$40. Adjusted_gross_income :$40. Wages_Number_of_returns :$40. Wages_Amount :$40. UE_comp_number_of_returns :$40. UE_comp_amount :$40. SS_number_benefits_AGI :$40. SS_amount_benefits_AGI :$40. Taxable_inc_number_returns :$40. Taxable_amount :$40.; %if %sysfunc(cmiss(of zipcode)) %then delete; array change {11} Adjusted_gross_income_category Number_of_returns Adjusted_gross_income Wages_Number_of_returns Wages_Amount UE_comp_number_of_returns UE_comp_amount SS_number_benefits_AGI SS_amount_benefits_AGI Taxable_inc_number_returns Taxable_amount; %do i = 1 %to 11; %if change{i} = "**" %then change{i}=" "; %end; array numeric_change {10} Number_of_returns Adjusted_gross_income Wages_Number_of_returns Wages_Amount UE_comp_number_of_returns UE_comp_amount SS_number_benefits_AGI SS_amount_benefits_AGI Taxable_inc_number_returns Taxable_amount; array new_numeric {10} Number_of_returns_2 Adjusted_gross_income_2 Wages_Number_of_returns_2 Wages_Amount_2 UE_comp_number_of_returns_2 UE_comp_amount_2 SS_number_benefits_AGI_2 SS_amount_benefits_AGI_2 Taxable_inc_number_returns_2 Taxable_amount_2; %do i = 1 %to 10; new_numeric{i}=input(numeric_change{i},comma12.); %end; drop Number_of_returns -- Taxable_amount; rename Number_of_returns_2=Number_of_returns Adjusted_gross_income_2=Adjusted_gross_income Wages_Number_of_returns_2=Wages_Number_of_returns Wages_Amount_2=Wages_Amount UE_comp_number_of_returns_2 = UE_comp_number_of_returns UE_comp_amount_2=UE_comp_amount SS_number_benefits_AGI_2=SS_number_benefits_AGI SS_amount_benefits_AGI_2=SS_amount_benefits_AGI Taxable_inc_number_returns_2=Taxable_inc_number_returns Taxable_amount_2=Taxable_amount; label Adjusted_gross_income_category="Adjusted Gross Income - Category" Number_of_Returns="Number of Returns" Ajusted_gross_income="Adjusted Gross Income (thousands)" Wages_Number_of_Returns="Wages - Quantity" Wages Amount="Wages - Amount (thousands)" UE_comp_number_of_returns="Unemployment Compensation - Quantity" UE_comp_amount="Unemployment Compensation - Amount (thousands)" SS_number_benefits_AGI="Social Security Benefits - Quantity" SS_amount_benefits_AGI="Social Security Benefits - Amount (thousands)" Taxable_inc_number_returns="Taxable Income - Quantity" Taxable_amount="Taxable Income - Amount (thousands)"; Year=&yr; run; %mend i_clean; %i_clean(2011,2011)