************************************************************ * AUTHOR * Author: freed302 * Created: <05/02/18 08:15:01 freed302> using writesas.ksh * Time-stamp: <05/02/22 17:58:40 freed302> *----------------------------------------------------------- * DESCRIPTION * This Program Creates a Sample File with Firm/Establishment * Identifiers for the Economic Census; *----------------------------------------------------------- * REVISION LIST * Date: * By: * Modification: *----------------------------------------------------------- * INCLUDED PROGRAMS; *----------------------------------------------------------- * LIBRARIES; * Input; libname census v8 ('/data/master/economic_census/1992/' '/data/master/economic_census/1997/') access=readonly; * Output; libname temp v8 '/saswork/01/freed302/'; *----------------------------------------------------------- * MACROS; %let yr=97; %let obs=0; *----------------------------------------------------------- * OPTIONS; options obs=max; *-----------------------------------------------------------; * Code to Create Separate SU and MU Files; data temp.gs&yr._c(keep=EIN CFN PPN ALPHA SU MU OIND NIND ST COU PLAC TE SW YR) ; length ALPHA $10 SU $1 MU $1; set census.gs&yr(obs=&obs.); if substr(CFN,1,1)="0" then ALPHA=CFN; else ALPHA=substr(CFN,1,6)||"0000"; if substr(CFN,1,1)="0" then SU="1"; else SU="0"; if substr(CFN,1,1)^="0" then MU="1"; else MU="0"; label ALPHA="Firm ALPHA Identifier" SU="Single-Unit Firm Flag" MU="Multi-Unit Firm Flag" ; run; proc sort data=temp.gs&yr._c;by ALPHA; proc contents data=temp.gs&yr._c;run; proc summary data=temp.gs&yr._c; id MU YR; by ALPHA; output out=temp.gs&yr._a(drop=_TYPE_ rename=(_FREQ_=EST_A)) sum(TE SW)=TE_A SW_A maxid(TE(OIND) TE(NIND) TE(ST) TE(COU) TE(PLAC))=OIND_A NIND_A ST_A COU_A PLAC_A; run; data temp.gs&yr._a; set temp.gs&yr._a; label EST_A="Alpha Number of Establishments" TE_A="Alpha Employment (Sum Across Establishments)" SW_A="Alpha Wages and Salaries (Sum Across Establishments)" OIND_A="Alpha SIC (SIC of Largest Establishment by Employment)" NIND_A="Alpha NAICS (NAICS of Largest Establishment by Employment)" ST_A="Alpha State (State Containing Largest Establishment by Employment)" COU_A="Alpha County (County Containing Largest Establishment by Employment)" PLAC_A="Alpha Place (Place Containing Largest Establishment by Employment)" ; run; proc contents data=temp.gs&yr._a;run; * Merge SU and MU Information (by ALPHA); data temp.gs&yr.; merge temp.gs&yr._c(in=a) temp.gs&yr._a(in=b); by ALPHA; run; proc contents data=temp.gs&yr;run; endsas;