Help using Base SAS procedures

Transposed data

Accepted Solution Solved
Reply
Occasional Contributor kbl
Occasional Contributor
Posts: 19
Accepted Solution

Transposed data

Good afternoon,
I pulled some TAQ data, and the file is in a .CSV format. I've only kept (and am interested in ) about six variables. The data pulled just fine, but it is listed in a column, with all trades for one company listed, followed by all trades for the next company, etc. I need the file sorted so that i can see all companies that traded at a particular time (along with the number of shares traded). In essence, instead of having vertical data, I want horizontal data. Can you help? I am attaching one of the files so you can see what i mean. Thanks very much for any assistance you can provide.

Attachment

Accepted Solutions
Solution
4 weeks ago
Occasional Contributor kbl
Occasional Contributor
Posts: 19

Re: Transposed data

Here is the log Art:


2769
2770 Filename three 'g:\threeone.dat';
2771 data have;
2772 infile three expandtabs;
2773 input TIME_M $ SYM_ROOT $ SIZE PRICE TIME2;
2774 run;

NOTE: The infile THREE is:
Filename=g:\threeone.dat,
RECFM=V,LRECL=32767,File Size (bytes)=4860534,
Last Modified=26May2017:12:52:06,
Create Time=25May2017:23:18:31

NOTE: 179219 records were read from the infile THREE.
The minimum record length was 19.
The maximum record length was 30.
NOTE: The data set WORK.HAVE has 179219 observations and 5 variables.
NOTE: DATA statement used (Total process time):
real time 0.20 seconds
cpu time 0.15 seconds


2775
2776 proc sort data=have out=need nodupkey;
2777 by time2 sym_root;
2778 run;

NOTE: There were 179219 observations read from the data set WORK.HAVE.
NOTE: 199 observations with duplicate key values were deleted.
NOTE: The data set WORK.NEED has 179020 observations and 5 variables.
NOTE: PROCEDURE SORT used (Total process time):
real time 0.13 seconds
cpu time 0.25 seconds


2779
2780 %transpose(data=need, out=want, by=time2, id=sym_root,
2781 delimiter=_,var=price size)

NOTE: There were 1 observations read from the data set WORK.NEED.
NOTE: The data set WORK.T_E_M_P has 1 observations and 2 variables.
NOTE: DATA statement used (Total process time):
real time 0.01 seconds
cpu time 0.03 seconds


NOTE: No rows were selected.
NOTE: PROCEDURE SQL used (Total process time):
real time 0.01 seconds
cpu time 0.01 seconds


NOTE: PROCEDURE SQL used (Total process time):
real time 0.00 seconds
cpu time 0.00 seconds



NOTE: There were 179020 observations read from the data set WORK.NEED.
NOTE: The data set WORK._FOR_FORMAT has 471 observations and 1 variables.
NOTE: PROCEDURE FREQ used (Total process time):
real time 0.06 seconds
cpu time 0.06 seconds



NOTE: There were 471 observations read from the data set WORK._FOR_FORMAT.
NOTE: The data set WORK._FOR_FORMAT has 471 observations and 2 variables.
NOTE: DATA statement used (Total process time):
real time 0.01 seconds
cpu time 0.01 seconds


NOTE: PROCEDURE SQL used (Total process time):
real time 0.04 seconds
cpu time 0.03 seconds


NOTE: PROCEDURE SQL used (Total process time):
real time 0.01 seconds
cpu time 0.00 seconds



NOTE: There were 471 observations read from the data set WORK._FOR_FORMAT.
NOTE: The data set WORK._FOR_FORMAT has 471 observations and 5 variables.
NOTE: DATA statement used (Total process time):
real time 0.02 seconds
cpu time 0.03 seconds


ERROR: These two ranges overlap: LOW-LOW and A-A (fuzz=0).

WARNING: RUN statement ignored due to previous errors. Submit QUIT; to terminate the procedure.
NOTE: PROCEDURE FORMAT used (Total process time):
real time 0.01 seconds
cpu time 0.01 seconds

NOTE: The SAS System stopped processing this step because of errors.
NOTE: There were 471 observations read from the data set WORK._FOR_FORMAT.


NOTE: Line generated by the invoked macro "TRANSPOSE".
1997 ; array have_num(*) &vars_num.; retain want_num; if first.&lastby. then
1997! call missing(of want_num(*)); ___nnum=put(&id.,labelfmt.)*dim(have_num); do
---------
48
1997! ___i=1 to dim(have_num); want_num(___nnum+___i)=have_num(___i); end;

ERROR 48-59: The format $LABELFMT was not found or could not be loaded.

NOTE: Character values have been converted to numeric values at the places given by:
(Line)Smiley SadColumn).
1997:132
NOTE: The SAS System stopped processing this step because of errors.
WARNING: The data set WORK.WANT may be incomplete. When this step was stopped there were 0
observations and 943 variables.
WARNING: Data set WORK.WANT was not replaced because this step was stopped.
NOTE: DATA statement used (Total process time):
real time 0.76 seconds
cpu time 0.76 seconds




NOTE: Variable time2 is uninitialized.
NOTE: Variable SIZE_A is uninitialized.
NOTE: Variable PRICE_A is uninitialized.
NOTE: Variable SIZE_AA is uninitialized.
NOTE: Variable PRICE_AA is uninitialized.
NOTE: Variable SIZE_AAPL is uninitialized.
NOTE: Variable PRICE_AAPL is uninitialized.
NOTE: Variable SIZE_ABC is uninitialized.
NOTE: Variable PRICE_ABC is uninitialized.
NOTE: Variable SIZE_ABT is uninitialized.
NOTE: Variable PRICE_ABT is uninitialized.
NOTE: Variable SIZE_ADBE is uninitialized.
NOTE: Variable PRICE_ADBE is uninitialized.
NOTE: Variable SIZE_ADI is uninitialized.
NOTE: Variable PRICE_ADI is uninitialized.
NOTE: Variable SIZE_ADM is uninitialized.
NOTE: Variable PRICE_ADM is uninitialized.
NOTE: Variable SIZE_ADP is uninitialized.
NOTE: Variable PRICE_ADP is uninitialized.
NOTE: Variable SIZE_ADSK is uninitialized.
NOTE: Variable PRICE_ADSK is uninitialized.
NOTE: Variable SIZE_AEE is uninitialized.
NOTE: Variable PRICE_AEE is uninitialized.
NOTE: Variable SIZE_AEP is uninitialized.
NOTE: Variable PRICE_AEP is uninitialized.
NOTE: Variable SIZE_AES is uninitialized.
NOTE: Variable PRICE_AES is uninitialized.
NOTE: Variable SIZE_AET is uninitialized.
NOTE: Variable PRICE_AET is uninitialized.
NOTE: Variable SIZE_AFL is uninitialized.
NOTE: Variable PRICE_AFL is uninitialized.
NOTE: Variable SIZE_AGN is uninitialized.
NOTE: Variable PRICE_AGN is uninitialized.
NOTE: Variable SIZE_AIG is uninitialized.
NOTE: Variable PRICE_AIG is uninitialized.
NOTE: Variable SIZE_AIV is uninitialized.
NOTE: Variable PRICE_AIV is uninitialized.
NOTE: Variable SIZE_AIZ is uninitialized.
NOTE: Variable PRICE_AIZ is uninitialized.
NOTE: Variable SIZE_AKAM is uninitialized.
NOTE: Variable PRICE_AKAM is uninitialized.
NOTE: Variable SIZE_AKS is uninitialized.
NOTE: Variable PRICE_AKS is uninitialized.
NOTE: Variable SIZE_ALL is uninitialized.
NOTE: Variable PRICE_ALL is uninitialized.
NOTE: Variable SIZE_ALTR is uninitialized.
NOTE: Variable PRICE_ALTR is uninitialized.
NOTE: Variable SIZE_AMAT is uninitialized.
NOTE: Variable PRICE_AMAT is uninitialized.
NOTE: Variable SIZE_AMD is uninitialized.
NOTE: Variable PRICE_AMD is uninitialized.
NOTE: Variable SIZE_AMGN is uninitialized.
NOTE: Variable PRICE_AMGN is uninitialized.
NOTE: Variable SIZE_AMP is uninitialized.
NOTE: Variable PRICE_AMP is uninitialized.
NOTE: Variable SIZE_AMT is uninitialized.
NOTE: Variable PRICE_AMT is uninitialized.
NOTE: Variable SIZE_AMZN is uninitialized.
NOTE: Variable PRICE_AMZN is uninitialized.
NOTE: Variable SIZE_AN is uninitialized.
NOTE: Variable PRICE_AN is uninitialized.
NOTE: Variable SIZE_ANF is uninitialized.
NOTE: Variable PRICE_ANF is uninitialized.
NOTE: Variable SIZE_AON is uninitialized.
NOTE: Variable PRICE_AON is uninitialized.
NOTE: Variable SIZE_APA is uninitialized.
NOTE: Variable PRICE_APA is uninitialized.
NOTE: Variable SIZE_APC is uninitialized.
NOTE: Variable PRICE_APC is uninitialized.
NOTE: Variable SIZE_APD is uninitialized.
NOTE: Variable PRICE_APD is uninitialized.
NOTE: Variable SIZE_APH is uninitialized.
NOTE: Variable PRICE_APH is uninitialized.
NOTE: Variable SIZE_APOL is uninitialized.
NOTE: Variable PRICE_APOL is uninitialized.
NOTE: Variable SIZE_ARG is uninitialized.
NOTE: Variable PRICE_ARG is uninitialized.
NOTE: Variable SIZE_ATI is uninitialized.
NOTE: Variable PRICE_ATI is uninitialized.
NOTE: Variable SIZE_AVB is uninitialized.
NOTE: Variable PRICE_AVB is uninitialized.
NOTE: Variable SIZE_AVP is uninitialized.
NOTE: Variable PRICE_AVP is uninitialized.
NOTE: Variable SIZE_AVY is uninitialized.
NOTE: Variable PRICE_AVY is uninitialized.
NOTE: Variable SIZE_AXP is uninitialized.
NOTE: Variable PRICE_AXP is uninitialized.
NOTE: Variable SIZE_AYE is uninitialized.
NOTE: Variable PRICE_AYE is uninitialized.
NOTE: Variable SIZE_AZO is uninitialized.
NOTE: Variable PRICE_AZO is uninitialized.
NOTE: Variable SIZE_BA is uninitialized.
NOTE: Variable PRICE_BA is uninitialized.
NOTE: Variable SIZE_BAC is uninitialized.
NOTE: Variable PRICE_BAC is uninitialized.
NOTE: Variable SIZE_BAX is uninitialized.
NOTE: Variable PRICE_BAX is uninitialized.
NOTE: Variable SIZE_BBBY is uninitialized.
NOTE: Variable PRICE_BBBY is uninitialized.
NOTE: Variable SIZE_BBT is uninitialized.
NOTE: Variable PRICE_BBT is uninitialized.
NOTE: Variable SIZE_BBY is uninitialized.
NOTE: Variable PRICE_BBY is uninitialized.
NOTE: Variable SIZE_BCR is uninitialized.
NOTE: Variable PRICE_BCR is uninitialized.
NOTE: Variable SIZE_BDX is uninitialized.
NOTE: Variable PRICE_BDX is uninitialized.
NOTE: Variable SIZE_BEN is uninitialized.
NOTE: Variable PRICE_BEN is uninitialized.
NOTE: Variable SIZE_BHI is uninitialized.
NOTE: Variable PRICE_BHI is uninitialized.
NOTE: Variable SIZE_BIG is uninitialized.
NOTE: Variable PRICE_BIG is uninitialized.
NOTE: Variable SIZE_BIIB is uninitialized.
NOTE: Variable PRICE_BIIB is uninitialized.
NOTE: Variable SIZE_BK is uninitialized.
NOTE: Variable PRICE_BK is uninitialized.
NOTE: Variable SIZE_BLL is uninitialized.
NOTE: Variable PRICE_BLL is uninitialized.
NOTE: Variable SIZE_BMC is uninitialized.
NOTE: Variable PRICE_BMC is uninitialized.
NOTE: Variable SIZE_BMS is uninitialized.
NOTE: Variable PRICE_BMS is uninitialized.
NOTE: Variable SIZE_BMY is uninitialized.
NOTE: Variable PRICE_BMY is uninitialized.
NOTE: Variable SIZE_BRCM is uninitialized.
NOTE: Variable PRICE_BRCM is uninitialized.
NOTE: Variable SIZE_BSX is uninitialized.
NOTE: Variable PRICE_BSX is uninitialized.
NOTE: Variable SIZE_BTU is uninitialized.
NOTE: Variable PRICE_BTU is uninitialized.
NOTE: Variable SIZE_BXP is uninitialized.
NOTE: Variable PRICE_BXP is uninitialized.
NOTE: Variable SIZE_C is uninitialized.
NOTE: Variable PRICE_C is uninitialized.
NOTE: Variable SIZE_CA is uninitialized.
NOTE: Variable PRICE_CA is uninitialized.
NOTE: Variable SIZE_CAG is uninitialized.
NOTE: Variable PRICE_CAG is uninitialized.
NOTE: Variable SIZE_CAH is uninitialized.
NOTE: Variable PRICE_CAH is uninitialized.
NOTE: Variable SIZE_CAM is uninitialized.
NOTE: Variable PRICE_CAM is uninitialized.
NOTE: Variable SIZE_CAT is uninitialized.
NOTE: Variable PRICE_CAT is uninitialized.
NOTE: Variable SIZE_CB is uninitialized.
NOTE: Variable PRICE_CB is uninitialized.
NOTE: Variable SIZE_CBG is uninitialized.
NOTE: Variable PRICE_CBG is uninitialized.
NOTE: Variable SIZE_CBS is uninitialized.
NOTE: Variable PRICE_CBS is uninitialized.
NOTE: Variable SIZE_CCE is uninitialized.
NOTE: Variable PRICE_CCE is uninitialized.
NOTE: Variable SIZE_CCL is uninitialized.
NOTE: Variable PRICE_CCL is uninitialized.
NOTE: Variable SIZE_CEG is uninitialized.
NOTE: Variable PRICE_CEG is uninitialized.
NOTE: Variable SIZE_CELG is uninitialized.
NOTE: Variable PRICE_CELG is uninitialized.
NOTE: Variable SIZE_CEPH is uninitialized.
NOTE: Variable PRICE_CEPH is uninitialized.
NOTE: Variable SIZE_CF is uninitialized.
NOTE: Variable PRICE_CF is uninitialized.
NOTE: Variable SIZE_CFN is uninitialized.
NOTE: Variable PRICE_CFN is uninitialized.
NOTE: Variable SIZE_CHK is uninitialized.
NOTE: Variable PRICE_CHK is uninitialized.
NOTE: Variable SIZE_CHRW is uninitialized.
NOTE: Variable PRICE_CHRW is uninitialized.
NOTE: Variable SIZE_CI is uninitialized.
NOTE: Variable PRICE_CI is uninitialized.
NOTE: Variable SIZE_CINF is uninitialized.
NOTE: Variable PRICE_CINF is uninitialized.
NOTE: Variable SIZE_CL is uninitialized.
NOTE: Variable PRICE_CL is uninitialized.
NOTE: Variable SIZE_CLF is uninitialized.
NOTE: Variable PRICE_CLF is uninitialized.
NOTE: Variable SIZE_CLX is uninitialized.
NOTE: Variable PRICE_CLX is uninitialized.
NOTE: Variable SIZE_CMA is uninitialized.
NOTE: Variable PRICE_CMA is uninitialized.
NOTE: Variable SIZE_CME is uninitialized.
NOTE: Variable PRICE_CME is uninitialized.
NOTE: Variable SIZE_CMI is uninitialized.
NOTE: Variable PRICE_CMI is uninitialized.
NOTE: Variable SIZE_CMS is uninitialized.
NOTE: Variable PRICE_CMS is uninitialized.
NOTE: Variable SIZE_CNP is uninitialized.
NOTE: Variable PRICE_CNP is uninitialized.
NOTE: Variable SIZE_CNX is uninitialized.
NOTE: Variable PRICE_CNX is uninitialized.
NOTE: Variable SIZE_COF is uninitialized.
NOTE: Variable PRICE_COF is uninitialized.
NOTE: Variable SIZE_COG is uninitialized.
NOTE: Variable PRICE_COG is uninitialized.
NOTE: Variable SIZE_COH is uninitialized.
NOTE: Variable PRICE_COH is uninitialized.
NOTE: Variable SIZE_COL is uninitialized.
NOTE: Variable PRICE_COL is uninitialized.
NOTE: Variable SIZE_COP is uninitialized.
NOTE: Variable PRICE_COP is uninitialized.
NOTE: Variable SIZE_COST is uninitialized.
NOTE: Variable PRICE_COST is uninitialized.
NOTE: Variable SIZE_CPB is uninitialized.
NOTE: Variable PRICE_CPB is uninitialized.
NOTE: Variable SIZE_CPWR is uninitialized.
NOTE: Variable PRICE_CPWR is uninitialized.
NOTE: Variable SIZE_CRM is uninitialized.
NOTE: Variable PRICE_CRM is uninitialized.
NOTE: Variable SIZE_CSC is uninitialized.
NOTE: Variable PRICE_CSC is uninitialized.
NOTE: Variable SIZE_CSCO is uninitialized.
NOTE: Variable PRICE_CSCO is uninitialized.
NOTE: Variable SIZE_CSX is uninitialized.
NOTE: Variable PRICE_CSX is uninitialized.
NOTE: Variable SIZE_CTAS is uninitialized.
NOTE: Variable PRICE_CTAS is uninitialized.
NOTE: Variable SIZE_CTL is uninitialized.
NOTE: Variable PRICE_CTL is uninitialized.
NOTE: Variable SIZE_CTSH is uninitialized.
NOTE: Variable PRICE_CTSH is uninitialized.
NOTE: Variable SIZE_CTXS is uninitialized.
NOTE: Variable PRICE_CTXS is uninitialized.
NOTE: Variable SIZE_CVH is uninitialized.
NOTE: Variable PRICE_CVH is uninitialized.
NOTE: Variable SIZE_CVS is uninitialized.
NOTE: Variable PRICE_CVS is uninitialized.
NOTE: Variable SIZE_CVX is uninitialized.
NOTE: Variable PRICE_CVX is uninitialized.
NOTE: Variable SIZE_D is uninitialized.
NOTE: Variable PRICE_D is uninitialized.
NOTE: Variable SIZE_DD is uninitialized.
NOTE: Variable PRICE_DD is uninitialized.
NOTE: Variable SIZE_DE is uninitialized.
NOTE: Variable PRICE_DE is uninitialized.
NOTE: Variable SIZE_DELL is uninitialized.
NOTE: Variable PRICE_DELL is uninitialized.
NOTE: Variable SIZE_DF is uninitialized.
NOTE: Variable PRICE_DF is uninitialized.
NOTE: Variable SIZE_DFS is uninitialized.
NOTE: Variable PRICE_DFS is uninitialized.
NOTE: Variable SIZE_DGX is uninitialized.
NOTE: Variable PRICE_DGX is uninitialized.
NOTE: Variable SIZE_DHI is uninitialized.
NOTE: Variable PRICE_DHI is uninitialized.
NOTE: Variable SIZE_DHR is uninitialized.
NOTE: Variable PRICE_DHR is uninitialized.
NOTE: Variable SIZE_DIS is uninitialized.
NOTE: Variable PRICE_DIS is uninitialized.
NOTE: Variable SIZE_DNB is uninitialized.
NOTE: Variable PRICE_DNB is uninitialized.
NOTE: Variable SIZE_DNR is uninitialized.
NOTE: Variable PRICE_DNR is uninitialized.
NOTE: Variable SIZE_DO is uninitialized.
NOTE: Variable PRICE_DO is uninitialized.
NOTE: Variable SIZE_DOV is uninitialized.
NOTE: Variable PRICE_DOV is uninitialized.
NOTE: Variable SIZE_DOW is uninitialized.
NOTE: Variable PRICE_DOW is uninitialized.
NOTE: Variable SIZE_DPS is uninitialized.
NOTE: Variable PRICE_DPS is uninitialized.
NOTE: Variable SIZE_DRI is uninitialized.
NOTE: Variable PRICE_DRI is uninitialized.
NOTE: Variable SIZE_DTE is uninitialized.
NOTE: Variable PRICE_DTE is uninitialized.
NOTE: Variable SIZE_DTV is uninitialized.
NOTE: Variable PRICE_DTV is uninitialized.
NOTE: Variable SIZE_DUK is uninitialized.
NOTE: Variable PRICE_DUK is uninitialized.
NOTE: Variable SIZE_DV is uninitialized.
NOTE: Variable PRICE_DV is uninitialized.
NOTE: Variable SIZE_DVA is uninitialized.
NOTE: Variable PRICE_DVA is uninitialized.
NOTE: Variable SIZE_DVN is uninitialized.
NOTE: Variable PRICE_DVN is uninitialized.
NOTE: Variable SIZE_EBAY is uninitialized.
NOTE: Variable PRICE_EBAY is uninitialized.
NOTE: Variable SIZE_ECL is uninitialized.
NOTE: Variable PRICE_ECL is uninitialized.
NOTE: Variable SIZE_ED is uninitialized.
NOTE: Variable PRICE_ED is uninitialized.
NOTE: Variable SIZE_EFX is uninitialized.
NOTE: Variable PRICE_EFX is uninitialized.
NOTE: Variable SIZE_EIX is uninitialized.
NOTE: Variable PRICE_EIX is uninitialized.
NOTE: Variable SIZE_EL is uninitialized.
NOTE: Variable PRICE_EL is uninitialized.
NOTE: Variable SIZE_EMC is uninitialized.
NOTE: Variable PRICE_EMC is uninitialized.
NOTE: Variable SIZE_EMN is uninitialized.
NOTE: Variable PRICE_EMN is uninitialized.
NOTE: Variable SIZE_EMR is uninitialized.
NOTE: Variable PRICE_EMR is uninitialized.
NOTE: Variable SIZE_EOG is uninitialized.
NOTE: Variable PRICE_EOG is uninitialized.
NOTE: Variable SIZE_EP is uninitialized.
NOTE: Variable PRICE_EP is uninitialized.
NOTE: Variable SIZE_EQR is uninitialized.
NOTE: Variable PRICE_EQR is uninitialized.
NOTE: Variable SIZE_EQT is uninitialized.
NOTE: Variable PRICE_EQT is uninitialized.
NOTE: Variable SIZE_ES is uninitialized.
NOTE: Variable PRICE_ES is uninitialized.
NOTE: Variable SIZE_ESRX is uninitialized.
NOTE: Variable PRICE_ESRX is uninitialized.
NOTE: Variable SIZE_ETFC is uninitialized.
NOTE: Variable PRICE_ETFC is uninitialized.
NOTE: Variable SIZE_ETN is uninitialized.
NOTE: Variable PRICE_ETN is uninitialized.
NOTE: Variable SIZE_ETR is uninitialized.
NOTE: Variable PRICE_ETR is uninitialized.
NOTE: Variable SIZE_EXC is uninitialized.
NOTE: Variable PRICE_EXC is uninitialized.
NOTE: Variable SIZE_EXPD is uninitialized.
NOTE: Variable PRICE_EXPD is uninitialized.
NOTE: Variable SIZE_EXPE is uninitialized.
NOTE: Variable PRICE_EXPE is uninitialized.
NOTE: Variable SIZE_F is uninitialized.
NOTE: Variable PRICE_F is uninitialized.
NOTE: Variable SIZE_FAST is uninitialized.
NOTE: Variable PRICE_FAST is uninitialized.
NOTE: Variable SIZE_FCX is uninitialized.
NOTE: Variable PRICE_FCX is uninitialized.
NOTE: Variable SIZE_FDO is uninitialized.
NOTE: Variable PRICE_FDO is uninitialized.
NOTE: Variable SIZE_FDX is uninitialized.
NOTE: Variable PRICE_FDX is uninitialized.
NOTE: Variable SIZE_FE is uninitialized.
NOTE: Variable PRICE_FE is uninitialized.
NOTE: Variable SIZE_FHN is uninitialized.
NOTE: Variable PRICE_FHN is uninitialized.
NOTE: Variable SIZE_FII is uninitialized.
NOTE: Variable PRICE_FII is uninitialized.
NOTE: Variable SIZE_FIS is uninitialized.
NOTE: Variable PRICE_FIS is uninitialized.
NOTE: Variable SIZE_FISV is uninitialized.
NOTE: Variable PRICE_FISV is uninitialized.
NOTE: Variable SIZE_FITB is uninitialized.
NOTE: Variable PRICE_FITB is uninitialized.
NOTE: Variable SIZE_FLIR is uninitialized.
NOTE: Variable PRICE_FLIR is uninitialized.
NOTE: Variable SIZE_FLR is uninitialized.
NOTE: Variable PRICE_FLR is uninitialized.
NOTE: Variable SIZE_FLS is uninitialized.
NOTE: Variable PRICE_FLS is uninitialized.
NOTE: Variable SIZE_FMC is uninitialized.
NOTE: Variable PRICE_FMC is uninitialized.
NOTE: Variable SIZE_FRX is uninitialized.
NOTE: Variable PRICE_FRX is uninitialized.
NOTE: Variable SIZE_FSLR is uninitialized.
NOTE: Variable PRICE_FSLR is uninitialized.
NOTE: Variable SIZE_FTI is uninitialized.
NOTE: Variable PRICE_FTI is uninitialized.
NOTE: Variable SIZE_FTR is uninitialized.
NOTE: Variable PRICE_FTR is uninitialized.
NOTE: Variable SIZE_GAS is uninitialized.
NOTE: Variable PRICE_GAS is uninitialized.
NOTE: Variable SIZE_GD is uninitialized.
NOTE: Variable PRICE_GD is uninitialized.
NOTE: Variable SIZE_GE is uninitialized.
NOTE: Variable PRICE_GE is uninitialized.
NOTE: Variable SIZE_GENZ is uninitialized.
NOTE: Variable PRICE_GENZ is uninitialized.
NOTE: Variable SIZE_GILD is uninitialized.
NOTE: Variable PRICE_GILD is uninitialized.
NOTE: Variable SIZE_GIS is uninitialized.
NOTE: Variable PRICE_GIS is uninitialized.
NOTE: Variable SIZE_GLW is uninitialized.
NOTE: Variable PRICE_GLW is uninitialized.
NOTE: Variable SIZE_GME is uninitialized.
NOTE: Variable PRICE_GME is uninitialized.
NOTE: Variable SIZE_GNW is uninitialized.
NOTE: Variable PRICE_GNW is uninitialized.
NOTE: Variable SIZE_GPC is uninitialized.
NOTE: Variable PRICE_GPC is uninitialized.
NOTE: Variable SIZE_GPS is uninitialized.
NOTE: Variable PRICE_GPS is uninitialized.
NOTE: Variable SIZE_GR is uninitialized.
NOTE: Variable PRICE_GR is uninitialized.
NOTE: Variable SIZE_GS is uninitialized.
NOTE: Variable PRICE_GS is uninitialized.
NOTE: Variable SIZE_GT is uninitialized.
NOTE: Variable PRICE_GT is uninitialized.
NOTE: Variable SIZE_GWW is uninitialized.
NOTE: Variable PRICE_GWW is uninitialized.
NOTE: Variable SIZE_HAL is uninitialized.
NOTE: Variable PRICE_HAL is uninitialized.
NOTE: Variable SIZE_HAR is uninitialized.
NOTE: Variable PRICE_HAR is uninitialized.
NOTE: Variable SIZE_HAS is uninitialized.
NOTE: Variable PRICE_HAS is uninitialized.
NOTE: Variable SIZE_HBAN is uninitialized.
NOTE: Variable PRICE_HBAN is uninitialized.
NOTE: Variable SIZE_HCBK is uninitialized.
NOTE: Variable PRICE_HCBK is uninitialized.
NOTE: Variable SIZE_HCN is uninitialized.
NOTE: Variable PRICE_HCN is uninitialized.
NOTE: Variable SIZE_HCP is uninitialized.
NOTE: Variable PRICE_HCP is uninitialized.
NOTE: Variable SIZE_HD is uninitialized.
NOTE: Variable PRICE_HD is uninitialized.
NOTE: Variable SIZE_HES is uninitialized.
NOTE: Variable PRICE_HES is uninitialized.
NOTE: Variable SIZE_HIG is uninitialized.
NOTE: Variable PRICE_HIG is uninitialized.
NOTE: Variable SIZE_HOG is uninitialized.
NOTE: Variable PRICE_HOG is uninitialized.
NOTE: Variable SIZE_HON is uninitialized.
NOTE: Variable PRICE_HON is uninitialized.
NOTE: Variable SIZE_HOT is uninitialized.
NOTE: Variable PRICE_HOT is uninitialized.
NOTE: Variable SIZE_HP is uninitialized.
NOTE: Variable PRICE_HP is uninitialized.
NOTE: Variable SIZE_HPQ is uninitialized.
NOTE: Variable PRICE_HPQ is uninitialized.
NOTE: Variable SIZE_HRB is uninitialized.
NOTE: Variable PRICE_HRB is uninitialized.
NOTE: Variable SIZE_HRL is uninitialized.
NOTE: Variable PRICE_HRL is uninitialized.
NOTE: Variable SIZE_HRS is uninitialized.
NOTE: Variable PRICE_HRS is uninitialized.
NOTE: Variable SIZE_HS is uninitialized.
NOTE: Variable PRICE_HS is uninitialized.
NOTE: Variable SIZE_HSP is uninitialized.
NOTE: Variable PRICE_HSP is uninitialized.
NOTE: Variable SIZE_HST is uninitialized.
NOTE: Variable PRICE_HST is uninitialized.
NOTE: Variable SIZE_HUM is uninitialized.
NOTE: Variable PRICE_HUM is uninitialized.
NOTE: Variable SIZE_IBM is uninitialized.
NOTE: Variable PRICE_IBM is uninitialized.
NOTE: Variable SIZE_ICE is uninitialized.
NOTE: Variable PRICE_ICE is uninitialized.
NOTE: Variable SIZE_IFF is uninitialized.
NOTE: Variable PRICE_IFF is uninitialized.
NOTE: Variable SIZE_IGT is uninitialized.
NOTE: Variable PRICE_IGT is uninitialized.
NOTE: Variable SIZE_IMS is uninitialized.
NOTE: Variable PRICE_IMS is uninitialized.
NOTE: Variable SIZE_INTC is uninitialized.
NOTE: Variable PRICE_INTC is uninitialized.
NOTE: Variable SIZE_INTU is uninitialized.
NOTE: Variable PRICE_INTU is uninitialized.
NOTE: Variable SIZE_IP is uninitialized.
NOTE: Variable PRICE_IP is uninitialized.
NOTE: Variable SIZE_IPG is uninitialized.
NOTE: Variable PRICE_IPG is uninitialized.
NOTE: Variable SIZE_IRM is uninitialized.
NOTE: Variable PRICE_IRM is uninitialized.
NOTE: Variable SIZE_ISRG is uninitialized.
NOTE: Variable PRICE_ISRG is uninitialized.
NOTE: Variable SIZE_ITT is uninitialized.
NOTE: Variable PRICE_ITT is uninitialized.
NOTE: Variable SIZE_ITW is uninitialized.
NOTE: Variable PRICE_ITW is uninitialized.
NOTE: Variable SIZE_IVZ is uninitialized.
NOTE: Variable PRICE_IVZ is uninitialized.
NOTE: Variable SIZE_JBL is uninitialized.
NOTE: Variable PRICE_JBL is uninitialized.
NOTE: Variable SIZE_JCI is uninitialized.
NOTE: Variable PRICE_JCI is uninitialized.
NOTE: Variable SIZE_JCP is uninitialized.
NOTE: Variable PRICE_JCP is uninitialized.
NOTE: Variable SIZE_JEC is uninitialized.
NOTE: Variable PRICE_JEC is uninitialized.
NOTE: Variable SIZE_JNJ is uninitialized.
NOTE: Variable PRICE_JNJ is uninitialized.
NOTE: Variable SIZE_JNPR is uninitialized.
NOTE: Variable PRICE_JNPR is uninitialized.
NOTE: Variable SIZE_JNS is uninitialized.
NOTE: Variable PRICE_JNS is uninitialized.
NOTE: Variable SIZE_JPM is uninitialized.
NOTE: Variable PRICE_JPM is uninitialized.
NOTE: Variable SIZE_JWN is uninitialized.
NOTE: Variable PRICE_JWN is uninitialized.
NOTE: Variable SIZE_K is uninitialized.
NOTE: Variable PRICE_K is uninitialized.
NOTE: Variable SIZE_KEY is uninitialized.
NOTE: Variable PRICE_KEY is uninitialized.
NOTE: Variable SIZE_KG is uninitialized.
NOTE: Variable PRICE_KG is uninitialized.
NOTE: Variable SIZE_KIM is uninitialized.
NOTE: Variable PRICE_KIM is uninitialized.
NOTE: Variable SIZE_KLAC is uninitialized.
NOTE: Variable PRICE_KLAC is uninitialized.
NOTE: Variable SIZE_KMB is uninitialized.
NOTE: Variable PRICE_KMB is uninitialized.
NOTE: Variable SIZE_KO is uninitialized.
NOTE: Variable PRICE_KO is uninitialized.
NOTE: Variable SIZE_KR is uninitialized.
NOTE: Variable PRICE_KR is uninitialized.
NOTE: Variable SIZE_KSS is uninitialized.
NOTE: Variable PRICE_KSS is uninitialized.
NOTE: Variable SIZE_L is uninitialized.
NOTE: Variable PRICE_L is uninitialized.
NOTE: Variable SIZE_LB is uninitialized.
NOTE: Variable PRICE_LB is uninitialized.
NOTE: Variable SIZE_LEG is uninitialized.
NOTE: Variable PRICE_LEG is uninitialized.
NOTE: Variable SIZE_LEN is uninitialized.
NOTE: Variable PRICE_LEN is uninitialized.
NOTE: Variable SIZE_LH is uninitialized.
NOTE: Variable PRICE_LH is uninitialized.
NOTE: Variable SIZE_LIFE is uninitialized.
NOTE: Variable PRICE_LIFE is uninitialized.
NOTE: Variable SIZE_LLL is uninitialized.
NOTE: Variable PRICE_LLL is uninitialized.
NOTE: Variable SIZE_LLTC is uninitialized.
NOTE: Variable PRICE_LLTC is uninitialized.
NOTE: Variable SIZE_LLY is uninitialized.
NOTE: Variable PRICE_LLY is uninitialized.
NOTE: Variable SIZE_LM is uninitialized.
NOTE: Variable PRICE_LM is uninitialized.
NOTE: Variable SIZE_LMT is uninitialized.
NOTE: Variable PRICE_LMT is uninitialized.
NOTE: Variable SIZE_LNC is uninitialized.
NOTE: Variable PRICE_LNC is uninitialized.
NOTE: Variable SIZE_LO is uninitialized.
NOTE: Variable PRICE_LO is uninitialized.
NOTE: Variable SIZE_LOW is uninitialized.
NOTE: Variable PRICE_LOW is uninitialized.
NOTE: Variable SIZE_LSI is uninitialized.
NOTE: Variable PRICE_LSI is uninitialized.
NOTE: Variable SIZE_LUK is uninitialized.
NOTE: Variable PRICE_LUK is uninitialized.
NOTE: Variable SIZE_LUV is uninitialized.
NOTE: Variable PRICE_LUV is uninitialized.
NOTE: Variable SIZE_LXK is uninitialized.
NOTE: Variable PRICE_LXK is uninitialized.
NOTE: Variable SIZE_M is uninitialized.
NOTE: Variable PRICE_M is uninitialized.
NOTE: Variable SIZE_MA is uninitialized.
NOTE: Variable PRICE_MA is uninitialized.
NOTE: Variable SIZE_MAR is uninitialized.
NOTE: Variable PRICE_MAR is uninitialized.
NOTE: Variable SIZE_MAS is uninitialized.
NOTE: Variable PRICE_MAS is uninitialized.
NOTE: Variable SIZE_MAT is uninitialized.
NOTE: Variable PRICE_MAT is uninitialized.
NOTE: Variable SIZE_MCD is uninitialized.
NOTE: Variable PRICE_MCD is uninitialized.
NOTE: Variable SIZE_MCHP is uninitialized.
NOTE: Variable PRICE_MCHP is uninitialized.
NOTE: Variable SIZE_MCK is uninitialized.
NOTE: Variable PRICE_MCK is uninitialized.
NOTE: Variable SIZE_MCO is uninitialized.
NOTE: Variable PRICE_MCO is uninitialized.
NOTE: Variable SIZE_MDP is uninitialized.
NOTE: Variable PRICE_MDP is uninitialized.
NOTE: Variable SIZE_MDT is uninitialized.
NOTE: Variable PRICE_MDT is uninitialized.
NOTE: Variable SIZE_MEE is uninitialized.
NOTE: Variable PRICE_MEE is uninitialized.
NOTE: Variable SIZE_MET is uninitialized.
NOTE: Variable PRICE_MET is uninitialized.
NOTE: Variable SIZE_MFE is uninitialized.
NOTE: Variable PRICE_MFE is uninitialized.
NOTE: Variable SIZE_MHS is uninitialized.
NOTE: Variable PRICE_MHS is uninitialized.
NOTE: Variable SIZE_MI is uninitialized.
NOTE: Variable PRICE_MI is uninitialized.
NOTE: Variable SIZE_MIL is uninitialized.
NOTE: Variable PRICE_MIL is uninitialized.
NOTE: Variable SIZE_MJN is uninitialized.
NOTE: Variable PRICE_MJN is uninitialized.
NOTE: Variable SIZE_MKC is uninitialized.
NOTE: Variable PRICE_MKC is uninitialized.
NOTE: Variable SIZE_MMC is uninitialized.
NOTE: Variable PRICE_MMC is uninitialized.
NOTE: Variable SIZE_MMM is uninitialized.
NOTE: Variable PRICE_MMM is uninitialized.
NOTE: Variable SIZE_MO is uninitialized.
NOTE: Variable PRICE_MO is uninitialized.
NOTE: Variable SIZE_MOLX is uninitialized.
NOTE: Variable PRICE_MOLX is uninitialized.
NOTE: Variable SIZE_MON is uninitialized.
NOTE: Variable PRICE_MON is uninitialized.
NOTE: Variable SIZE_MRK is uninitialized.
NOTE: Variable PRICE_MRK is uninitialized.
NOTE: Variable SIZE_MRO is uninitialized.
NOTE: Variable PRICE_MRO is uninitialized.
NOTE: Variable SIZE_MS is uninitialized.
NOTE: Variable PRICE_MS is uninitialized.
NOTE: Variable SIZE_MSFT is uninitialized.
NOTE: Variable PRICE_MSFT is uninitialized.
NOTE: Variable SIZE_MTB is uninitialized.
NOTE: Variable PRICE_MTB is uninitialized.
NOTE: Variable SIZE_MU is uninitialized.
NOTE: Variable PRICE_MU is uninitialized.
NOTE: Variable SIZE_MUR is uninitialized.
NOTE: Variable PRICE_MUR is uninitialized.
NOTE: Variable SIZE_MWV is uninitialized.
NOTE: Variable PRICE_MWV is uninitialized.
NOTE: Variable SIZE_MWW is uninitialized.
NOTE: Variable PRICE_MWW is uninitialized.
NOTE: Variable SIZE_MYL is uninitialized.
NOTE: Variable PRICE_MYL is uninitialized.
NOTE: Variable SIZE_NAVI is uninitialized.
NOTE: Variable PRICE_NAVI is uninitialized.
NOTE: Variable SIZE_NBL is uninitialized.
NOTE: Variable PRICE_NBL is uninitialized.
NOTE: Variable SIZE_NBR is uninitialized.
NOTE: Variable PRICE_NBR is uninitialized.
NOTE: Variable SIZE_NDAQ is uninitialized.
NOTE: Variable PRICE_NDAQ is uninitialized.
NOTE: Variable SIZE_NEM is uninitialized.
NOTE: Variable PRICE_NEM is uninitialized.
NOTE: Variable SIZE_NI is uninitialized.
NOTE: Variable PRICE_NI is uninitialized.
NOTE: Variable SIZE_NKE is uninitialized.
NOTE: Variable PRICE_NKE is uninitialized.
NOTE: Variable SIZE_NOC is uninitialized.
NOTE: Variable PRICE_NOC is uninitialized.
NOTE: Variable SIZE_NOV is uninitialized.
NOTE: Variable PRICE_NOV is uninitialized.
NOTE: Variable SIZE_NOVL is uninitialized.
NOTE: Variable PRICE_NOVL is uninitialized.
NOTE: Variable SIZE_NRG is uninitialized.
NOTE: Variable PRICE_NRG is uninitialized.
NOTE: Variable SIZE_NSC is uninitialized.
NOTE: Variable PRICE_NSC is uninitialized.
NOTE: Variable SIZE_NSM is uninitialized.
NOTE: Variable PRICE_NSM is uninitialized.
NOTE: Variable SIZE_NTAP is uninitialized.
NOTE: Variable PRICE_NTAP is uninitialized.
NOTE: Variable SIZE_NTRS is uninitialized.
NOTE: Variable PRICE_NTRS is uninitialized.
NOTE: Variable SIZE_NUE is uninitialized.
NOTE: Variable PRICE_NUE is uninitialized.
NOTE: Variable SIZE_NVDA is uninitialized.
NOTE: Variable PRICE_NVDA is uninitialized.
NOTE: Variable SIZE_NVLS is uninitialized.
NOTE: Variable PRICE_NVLS is uninitialized.
NOTE: Variable SIZE_NWL is uninitialized.
NOTE: Variable PRICE_NWL is uninitialized.
NOTE: Variable SIZE_NYT is uninitialized.
NOTE: Variable PRICE_NYT is uninitialized.
NOTE: Variable SIZE_NYX is uninitialized.
NOTE: Variable PRICE_NYX is uninitialized.
NOTE: Variable SIZE_ODP is uninitialized.
NOTE: Variable PRICE_ODP is uninitialized.
NOTE: Variable SIZE_OI is uninitialized.
NOTE: Variable PRICE_OI is uninitialized.
NOTE: Variable SIZE_OKE is uninitialized.
NOTE: Variable PRICE_OKE is uninitialized.
NOTE: Variable SIZE_OMC is uninitialized.
NOTE: Variable PRICE_OMC is uninitialized.
NOTE: Variable SIZE_ORCL is uninitialized.
NOTE: Variable PRICE_ORCL is uninitialized.
NOTE: Variable SIZE_ORLY is uninitialized.
NOTE: Variable PRICE_ORLY is uninitialized.
NOTE: Variable SIZE_OXY is uninitialized.
NOTE: Variable PRICE_OXY is uninitialized.
NOTE: Variable SIZE_PAYX is uninitialized.
NOTE: Variable PRICE_PAYX is uninitialized.
NOTE: Variable SIZE_PBCT is uninitialized.
NOTE: Variable PRICE_PBCT is uninitialized.
NOTE: Variable SIZE_PBI is uninitialized.
NOTE: Variable PRICE_PBI is uninitialized.
NOTE: Variable SIZE_PCAR is uninitialized.
NOTE: Variable PRICE_PCAR is uninitialized.
NOTE: Variable SIZE_PCG is uninitialized.
NOTE: Variable PRICE_PCG is uninitialized.
NOTE: Variable SIZE_PCL is uninitialized.
NOTE: Variable PRICE_PCL is uninitialized.
NOTE: Variable SIZE_PCLN is uninitialized.
NOTE: Variable PRICE_PCLN is uninitialized.
NOTE: Variable SIZE_PCP is uninitialized.
NOTE: Variable PRICE_PCP is uninitialized.
NOTE: Variable SIZE_PCS is uninitialized.
NOTE: Variable PRICE_PCS is uninitialized.
NOTE: Variable SIZE_PDCO is uninitialized.
NOTE: Variable PRICE_PDCO is uninitialized.
NOTE: Variable SIZE_PEG is uninitialized.
NOTE: Variable PRICE_PEG is uninitialized.
NOTE: Variable SIZE_PEP is uninitialized.
NOTE: Variable PRICE_PEP is uninitialized.
NOTE: Variable SIZE_PFE is uninitialized.
NOTE: Variable PRICE_PFE is uninitialized.
NOTE: Variable SIZE_PFG is uninitialized.
NOTE: Variable PRICE_PFG is uninitialized.
NOTE: Variable SIZE_PG is uninitialized.
NOTE: Variable PRICE_PG is uninitialized.
NOTE: Variable SIZE_PGR is uninitialized.
NOTE: Variable PRICE_PGR is uninitialized.
NOTE: Variable SIZE_PH is uninitialized.
NOTE: Variable PRICE_PH is uninitialized.
NOTE: Variable SIZE_PHM is uninitialized.
NOTE: Variable PRICE_PHM is uninitialized.
NOTE: Variable SIZE_PKI is uninitialized.
NOTE: Variable PRICE_PKI is uninitialized.
NOTE: Variable SIZE_PLD is uninitialized.
NOTE: Variable PRICE_PLD is uninitialized.
NOTE: Variable SIZE_PLL is uninitialized.
NOTE: Variable PRICE_PLL is uninitialized.
NOTE: Variable SIZE_PM is uninitialized.
NOTE: Variable PRICE_PM is uninitialized.
NOTE: Variable SIZE_PNC is uninitialized.
NOTE: Variable PRICE_PNC is uninitialized.
NOTE: Variable SIZE_PNW is uninitialized.
NOTE: Variable PRICE_PNW is uninitialized.
NOTE: Variable SIZE_POM is uninitialized.
NOTE: Variable PRICE_POM is uninitialized.
NOTE: Variable SIZE_PPG is uninitialized.
NOTE: Variable PRICE_PPG is uninitialized.
NOTE: Variable SIZE_PPL is uninitialized.
NOTE: Variable PRICE_PPL is uninitialized.
NOTE: Variable SIZE_PRU is uninitialized.
NOTE: Variable PRICE_PRU is uninitialized.
NOTE: Variable SIZE_PSA is uninitialized.
NOTE: Variable PRICE_PSA is uninitialized.
NOTE: Variable SIZE_PTV is uninitialized.
NOTE: Variable PRICE_PTV is uninitialized.
NOTE: Variable SIZE_PWR is uninitialized.
NOTE: Variable PRICE_PWR is uninitialized.
NOTE: Variable SIZE_PX is uninitialized.
NOTE: Variable PRICE_PX is uninitialized.
NOTE: Variable SIZE_PXD is uninitialized.
NOTE: Variable PRICE_PXD is uninitialized.
NOTE: Variable SIZE_Q is uninitialized.
NOTE: Variable PRICE_Q is uninitialized.
NOTE: Variable SIZE_QCOM is uninitialized.
NOTE: Variable PRICE_QCOM is uninitialized.
NOTE: Variable SIZE_QLGC is uninitialized.
NOTE: Variable PRICE_QLGC is uninitialized.
NOTE: Variable SIZE_R is uninitialized.
NOTE: Variable PRICE_R is uninitialized.
NOTE: Variable SIZE_RAI is uninitialized.
NOTE: Variable PRICE_RAI is uninitialized.
NOTE: Variable SIZE_RDC is uninitialized.
NOTE: Variable PRICE_RDC is uninitialized.
NOTE: Variable SIZE_RF is uninitialized.
NOTE: Variable PRICE_RF is uninitialized.
NOTE: Variable SIZE_RHI is uninitialized.
NOTE: Variable PRICE_RHI is uninitialized.
NOTE: Variable SIZE_RHT is uninitialized.
NOTE: Variable PRICE_RHT is uninitialized.
NOTE: Variable SIZE_RL is uninitialized.
NOTE: Variable PRICE_RL is uninitialized.
NOTE: Variable SIZE_ROK is uninitialized.
NOTE: Variable PRICE_ROK is uninitialized.
NOTE: Variable SIZE_ROP is uninitialized.
NOTE: Variable PRICE_ROP is uninitialized.
NOTE: Variable SIZE_ROST is uninitialized.
NOTE: Variable PRICE_ROST is uninitialized.
NOTE: Variable SIZE_RRC is uninitialized.
NOTE: Variable PRICE_RRC is uninitialized.
NOTE: Variable SIZE_RRD is uninitialized.
NOTE: Variable PRICE_RRD is uninitialized.
NOTE: Variable SIZE_RSG is uninitialized.
NOTE: Variable PRICE_RSG is uninitialized.
NOTE: Variable SIZE_RTN is uninitialized.
NOTE: Variable PRICE_RTN is uninitialized.
NOTE: Variable SIZE_S is uninitialized.
NOTE: Variable PRICE_S is uninitialized.
NOTE: Variable SIZE_SBUX is uninitialized.
NOTE: Variable PRICE_SBUX is uninitialized.
NOTE: Variable SIZE_SCG is uninitialized.
NOTE: Variable PRICE_SCG is uninitialized.
NOTE: Variable SIZE_SCHW is uninitialized.
NOTE: Variable PRICE_SCHW is uninitialized.
NOTE: Variable SIZE_SE is uninitialized.
NOTE: Variable PRICE_SE is uninitialized.
NOTE: Variable SIZE_SEE is uninitialized.
NOTE: Variable PRICE_SEE is uninitialized.
NOTE: Variable SIZE_SHLD is uninitialized.
NOTE: Variable PRICE_SHLD is uninitialized.
NOTE: Variable SIZE_SHW is uninitialized.
NOTE: Variable PRICE_SHW is uninitialized.
NOTE: Variable SIZE_SIAL is uninitialized.
NOTE: Variable PRICE_SIAL is uninitialized.
NOTE: Variable SIZE_SII is uninitialized.
NOTE: Variable PRICE_SII is uninitialized.
NOTE: Variable SIZE_SJM is uninitialized.
NOTE: Variable PRICE_SJM is uninitialized.
NOTE: Variable SIZE_SLB is uninitialized.
NOTE: Variable PRICE_SLB is uninitialized.
NOTE: Variable SIZE_SNA is uninitialized.
NOTE: Variable PRICE_SNA is uninitialized.
NOTE: Variable SIZE_SNDK is uninitialized.
NOTE: Variable PRICE_SNDK is uninitialized.
NOTE: Variable SIZE_SNI is uninitialized.
NOTE: Variable PRICE_SNI is uninitialized.
NOTE: Variable SIZE_SO is uninitialized.
NOTE: Variable PRICE_SO is uninitialized.
NOTE: Variable SIZE_SPG is uninitialized.
NOTE: Variable PRICE_SPG is uninitialized.
NOTE: Variable SIZE_SRCL is uninitialized.
NOTE: Variable PRICE_SRCL is uninitialized.
NOTE: Variable SIZE_SRE is uninitialized.
NOTE: Variable PRICE_SRE is uninitialized.
NOTE: Variable SIZE_STI is uninitialized.
NOTE: Variable PRICE_STI is uninitialized.
NOTE: Variable SIZE_STJ is uninitialized.
NOTE: Variable PRICE_STJ is uninitialized.
NOTE: Variable SIZE_STR is uninitialized.
NOTE: Variable PRICE_STR is uninitialized.
NOTE: Variable SIZE_STT is uninitialized.
NOTE: Variable PRICE_STT is uninitialized.
NOTE: Variable SIZE_STZ is uninitialized.
NOTE: Variable PRICE_STZ is uninitialized.
NOTE: Variable SIZE_SUN is uninitialized.
NOTE: Variable PRICE_SUN is uninitialized.
NOTE: Variable SIZE_SVU is uninitialized.
NOTE: Variable PRICE_SVU is uninitialized.
NOTE: Variable SIZE_SWK is uninitialized.
NOTE: Variable PRICE_SWK is uninitialized.
NOTE: Variable SIZE_SWN is uninitialized.
NOTE: Variable PRICE_SWN is uninitialized.
NOTE: Variable SIZE_SWY is uninitialized.
NOTE: Variable PRICE_SWY is uninitialized.
NOTE: Variable SIZE_SYK is uninitialized.
NOTE: Variable PRICE_SYK is uninitialized.
NOTE: Variable SIZE_SYMC is uninitialized.
NOTE: Variable PRICE_SYMC is uninitialized.
NOTE: Variable SIZE_SYY is uninitialized.
NOTE: Variable PRICE_SYY is uninitialized.
NOTE: Variable SIZE_T is uninitialized.
NOTE: Variable PRICE_T is uninitialized.
NOTE: Variable SIZE_TAP is uninitialized.
NOTE: Variable PRICE_TAP is uninitialized.
NOTE: Variable SIZE_TDC is uninitialized.
NOTE: Variable PRICE_TDC is uninitialized.
NOTE: Variable SIZE_TE is uninitialized.
NOTE: Variable PRICE_TE is uninitialized.
NOTE: Variable SIZE_TER is uninitialized.
NOTE: Variable PRICE_TER is uninitialized.
NOTE: Variable SIZE_TGT is uninitialized.
NOTE: Variable PRICE_TGT is uninitialized.
NOTE: Variable SIZE_THC is uninitialized.
NOTE: Variable PRICE_THC is uninitialized.
NOTE: Variable SIZE_TIE is uninitialized.
NOTE: Variable PRICE_TIE is uninitialized.
NOTE: Variable SIZE_TIF is uninitialized.
NOTE: Variable PRICE_TIF is uninitialized.
NOTE: Variable SIZE_TJX is uninitialized.
NOTE: Variable PRICE_TJX is uninitialized.
NOTE: Variable SIZE_TLAB is uninitialized.
NOTE: Variable PRICE_TLAB is uninitialized.
NOTE: Variable SIZE_TMK is uninitialized.
NOTE: Variable PRICE_TMK is uninitialized.
NOTE: Variable SIZE_TMO is uninitialized.
NOTE: Variable PRICE_TMO is uninitialized.
NOTE: Variable SIZE_TROW is uninitialized.
NOTE: Variable PRICE_TROW is uninitialized.
NOTE: Variable SIZE_TRV is uninitialized.
NOTE: Variable PRICE_TRV is uninitialized.
NOTE: Variable SIZE_TSN is uninitialized.
NOTE: Variable PRICE_TSN is uninitialized.
NOTE: Variable SIZE_TSO is uninitialized.
NOTE: Variable PRICE_TSO is uninitialized.
NOTE: Variable SIZE_TSS is uninitialized.
NOTE: Variable PRICE_TSS is uninitialized.
NOTE: Variable SIZE_TWC is uninitialized.
NOTE: Variable PRICE_TWC is uninitialized.
NOTE: Variable SIZE_TWX is uninitialized.
NOTE: Variable PRICE_TWX is uninitialized.
NOTE: Variable SIZE_TXN is uninitialized.
NOTE: Variable PRICE_TXN is uninitialized.
NOTE: Variable SIZE_TXT is uninitialized.
NOTE: Variable PRICE_TXT is uninitialized.
NOTE: Variable SIZE_UNH is uninitialized.
NOTE: Variable PRICE_UNH is uninitialized.
NOTE: Variable SIZE_UNM is uninitialized.
NOTE: Variable PRICE_UNM is uninitialized.
NOTE: Variable SIZE_UNP is uninitialized.
NOTE: Variable PRICE_UNP is uninitialized.
NOTE: Variable SIZE_UPS is uninitialized.
NOTE: Variable PRICE_UPS is uninitialized.
NOTE: Variable SIZE_URBN is uninitialized.
NOTE: Variable PRICE_URBN is uninitialized.
NOTE: Variable SIZE_USB is uninitialized.
NOTE: Variable PRICE_USB is uninitialized.
NOTE: Variable SIZE_UTX is uninitialized.
NOTE: Variable PRICE_UTX is uninitialized.
NOTE: Variable SIZE_V is uninitialized.
NOTE: Variable PRICE_V is uninitialized.
NOTE: Variable SIZE_VAR is uninitialized.
NOTE: Variable PRICE_VAR is uninitialized.
NOTE: Variable SIZE_VFC is uninitialized.
NOTE: Variable PRICE_VFC is uninitialized.
NOTE: Variable SIZE_VLO is uninitialized.
NOTE: Variable PRICE_VLO is uninitialized.
NOTE: Variable SIZE_VMC is uninitialized.
NOTE: Variable PRICE_VMC is uninitialized.
NOTE: Variable SIZE_VNO is uninitialized.
NOTE: Variable PRICE_VNO is uninitialized.
NOTE: Variable SIZE_VRSN is uninitialized.
NOTE: Variable PRICE_VRSN is uninitialized.
NOTE: Variable SIZE_VTR is uninitialized.
NOTE: Variable PRICE_VTR is uninitialized.
NOTE: Variable SIZE_VZ is uninitialized.
NOTE: Variable PRICE_VZ is uninitialized.
NOTE: Variable SIZE_WAT is uninitialized.
NOTE: Variable PRICE_WAT is uninitialized.
NOTE: Variable SIZE_WDC is uninitialized.
NOTE: Variable PRICE_WDC is uninitialized.
NOTE: Variable SIZE_WEC is uninitialized.
NOTE: Variable PRICE_WEC is uninitialized.
NOTE: Variable SIZE_WFC is uninitialized.
NOTE: Variable PRICE_WFC is uninitialized.
NOTE: Variable SIZE_WHR is uninitialized.
NOTE: Variable PRICE_WHR is uninitialized.
NOTE: Variable SIZE_WIN is uninitialized.
NOTE: Variable PRICE_WIN is uninitialized.
NOTE: Variable SIZE_WM is uninitialized.
NOTE: Variable PRICE_WM is uninitialized.
NOTE: Variable SIZE_WMB is uninitialized.
NOTE: Variable PRICE_WMB is uninitialized.
NOTE: Variable SIZE_WMT is uninitialized.
NOTE: Variable PRICE_WMT is uninitialized.
NOTE: Variable SIZE_WU is uninitialized.
NOTE: Variable PRICE_WU is uninitialized.
NOTE: Variable SIZE_WY is uninitialized.
NOTE: Variable PRICE_WY is uninitialized.
NOTE: Variable SIZE_WYN is uninitialized.
NOTE: Variable PRICE_WYN is uninitialized.
NOTE: Variable SIZE_WYNN is uninitialized.
NOTE: Variable PRICE_WYNN is uninitialized.
NOTE: Variable SIZE_X is uninitialized.
NOTE: Variable PRICE_X is uninitialized.
NOTE: Variable SIZE_XEL is uninitialized.
NOTE: Variable PRICE_XEL is uninitialized.
NOTE: Variable SIZE_XL is uninitialized.
NOTE: Variable PRICE_XL is uninitialized.
NOTE: Variable SIZE_XLNX is uninitialized.
NOTE: Variable PRICE_XLNX is uninitialized.
NOTE: Variable SIZE_XOM is uninitialized.
NOTE: Variable PRICE_XOM is uninitialized.
NOTE: Variable SIZE_XRAY is uninitialized.
NOTE: Variable PRICE_XRAY is uninitialized.
NOTE: Variable SIZE_XRX is uninitialized.
NOTE: Variable PRICE_XRX is uninitialized.
NOTE: Variable SIZE_XTO is uninitialized.
NOTE: Variable PRICE_XTO is uninitialized.
NOTE: Variable SIZE_Y is uninitialized.
NOTE: Variable PRICE_Y is uninitialized.
NOTE: Variable SIZE_YHOO is uninitialized.
NOTE: Variable PRICE_YHOO is uninitialized.
NOTE: Variable SIZE_YUM is uninitialized.
NOTE: Variable PRICE_YUM is uninitialized.
NOTE: Variable SIZE_ZION is uninitialized.
NOTE: Variable PRICE_ZION is uninitialized.
NOTE: There were 0 observations read from the data set WORK.WANT.
NOTE: The data set WORK.WANT has 0 observations and 0 variables.
NOTE: DATA statement used (Total process time):
real time 1.32 seconds
cpu time 1.28 seconds


NOTE: Deleting WORK.T_E_M_P (memtype=DATA).
NOTE: Deleting WORK._FOR_FORMAT (memtype=DATA).
NOTE: PROCEDURE DELETE used (Total process time):
real time 0.00 seconds
cpu time 0.01 seconds


2782
2783
2784
2785 %macro transpose(libname_in=,
2786 libname_out=,
2787 data= have,
2788 out= need,
2789 by=,
2790 prefix=,
2791 var=,
2792 autovars=,
2793 id=,
2794 descendingid=,
2795 var_first=,
2796 format=,
2797 delimiter=,
2798 copy=,
2799 drop=,
2800 sort=,
2801 sort_options=,
2802 use_varname=,
2803 preloadfmt=,
2804 guessingrows=,
2805 newid=);
2806
2807 /*Check whether the data and out parameters contain one or two-level filenames*/
2808 %let lp=%sysfunc(findc(%superq(data),%str(%()));
2809 %if &lp. %then %do;
2810 %let rp=%sysfunc(findc(%superq(data),%str(%)),b));
2811 %let dsoptions=%qsysfunc(substrn(%nrstr(%superq(data)),&lp+1,&rp-&lp-1));
2812 %let data=%sysfunc(substrn(%nrstr(%superq(data)),1,%eval(&lp-1)));
2813 %end;
2814 %else %let dsoptions=;
2815 %if %sysfunc(countw(&data.)) eq 2 %then %do;
2816 %let libname_in=%scan(&data.,1);
2817 %let data=%scan(&data.,2);
2818 %end;
2819 %else %if %length(&libname_in.) eq 0 %then %do;
2820 %let libname_in=work;
2821 %end;
2822
2823 %if %sysfunc(countw(&out.)) eq 2 %then %do;
2824 %let libname_out=%scan(&out.,1);
2825 %let out=%scan(&out.,2);
2826 %end;
2827 %else %if %length(&libname_out.) eq 0 %then %do;
2828 %let libname_out=work;
2829 %end;
2830
2831 %if %length(&newid.) eq 0 %then %do;
2832 %let newid=row;
2833 %end;
2834
2835 /*obtain last by variable*/
2836 %if %length(&by.) gt 0 %then %do;
2837 %let lastby=%scan(&by.,-1);
2838 %end;
2839 %else %do;
2840 %let lastby=;
2841 %end;
2842
2843 /*Create macro variable to contain a list of variables to be copied*/
2844 %let to_copy=;
2845 %if %length(&copy.) gt 0 %then %do;
2846 data t_e_m_p;
2847 set &libname_in..&data. (obs=1 keep=&copy.);
2848 run;
2849
2850 proc sql noprint;
2851 select name
2852 into :to_copy separated by " "
2853 from dictionary.columns
2854 where libname="WORK" and
2855 memname="T_E_M_P"
2856 ;
2857 quit;
2858 %end;
2859
2860 /*Populate var parameter in the event it has a null value*/
2861 %if %length(&var.) eq 0 %then %do;
2862 data t_e_m_p;
2863 set &libname_in..&data. (obs=1 drop=&by. &id. &copy.);
2864 run;
2865
2866 proc sql noprint;
2867 select name
2868 into :var separated by " "
2869 from dictionary.columns
2870 where libname="WORK" and
2871 memname="T_E_M_P"
2872 %if %sysfunc(upcase("&autovars.")) eq "CHAR" %then %do;
2873 and type="char"
2874 %end;
2875 %else %if %sysfunc(upcase("&autovars.")) ne "ALL" %then %do;
2876 and type="num"
2877 %end;
2878 ;
2879 quit;
2880 %end;
2881
2882 /*Initialize macro variables*/
2883 %let vars_char=;
2884 %let varlist_char=;
2885 %let vars_num=;
2886 %let varlist_num=;
2887 %let formats_char=;
2888 %let format_char=;
2889 %let formats_num=;
2890 %let format_num=;
2891
2892 /*Create file t_e_m_p to contain one record with all var variables*/
2893 data t_e_m_p;
2894 set &libname_in..&data. (obs=1 keep=&var.);
2895 run;
2896
2897 /*Create macro variables containing untransposed var names and formats*/
2898 proc sql noprint;
2899 select name, case
2900 when missing(format) then " $"||strip(put(length,5.))||'.'
2901 else strip(format)
2902 end
2903 into :vars_char separated by " ",
2904 :formats_char separated by "~"
2905 from dictionary.columns
2906 where libname="WORK" and
2907 memname="T_E_M_P" and
2908 type="char"
2909 ;
2910 select name, case
2911 when missing(format) then "best12."
2912 else strip(format)
2913 end
2914 into :vars_num separated by " ",
2915 :formats_num separated by "~"
2916 from dictionary.columns
2917 where libname="WORK" and
2918 memname="T_E_M_P" and
2919 type="num"
2920 ;
2921 select name
2922 into :vars_all separated by " "
2923 from dictionary.columns
2924 where libname="WORK" and
2925 memname="T_E_M_P"
2926 ;
2927 quit;
2928
2929 /*If sort parameter has a value of YES, create a sorted temporary data file*/
2930 %if %sysfunc(upcase("&sort.")) eq "YES" %then %do;
2931 %let notsorted=;
2932 proc sort data=&libname_in..&data.
2933 (
2934 keep=&by. &id. &vars_char. &vars_num. &to_copy.
2935 &dsoptions.
2936 )
2937 out=t_e_m_p &sort_options. noequals;
2938 by &by.;
2939 run;
2940 %let data=t_e_m_p;
2941 %let libname_in=work;
2942 %end;
2943 %else %do;
2944 %let notsorted=notsorted;
2945 %end;
2946
2947 /*if no id parameter is present, create one from &newid.*/
2948 %if %length(&id.) eq 0 %then %do;
2949 data t_e_m_p;
2950 set &libname_in..&data.;
2951 by &by.;
2952 if first.&lastby then &newid.=1;
2953 else &newid+1;
2954 run;
2955 %let id=&newid.;
2956 %let data=t_e_m_p;
2957 %let libname_in=work;
2958 %end;
2959
2960 /*Ensure guessingrows parameter contains a value*/
2961 %if %length(&guessingrows.) eq 0 %then %do;
2962 %let guessingrows=%sysfunc(constant(EXACTINT));
2963 %end;
2964
2965 /*Ensure a format is assigned to an id variable*/
2966 %if %length(&id.) gt 0 %then %do;
2967 proc sql noprint;
2968 select type,length,%sysfunc(strip(format))
2969 into :tr_macro_type, :tr_macro_len, :tr_macro_format
2970 from dictionary.columns
2971 where libname="%sysfunc(upcase(&libname_in.))" and
2972 memname="%sysfunc(upcase(&data.))" and
2973 upcase(name)="%sysfunc(upcase(&id.))"
2974 ;
2975 quit;
2976
2977 %if %length(&format.) eq 0 %then %do;
2978 %let optsave=%sysfunc(getoption(missing),$quote.);
2979 options missing=.;
2980 %if %length(&tr_macro_format.) gt 0 %then %do;
2981 %let format=&tr_macro_format.;
2982 %end;
2983 %else %if "&tr_macro_type." eq "num " %then %do;
2984 %let format=%sysfunc(catt(best,&tr_macro_len.,%str(.)));
2985 %end;
2986 %else %do;
2987 %let format=%sysfunc(catt($,&tr_macro_len.,%str(.)));
2988 %end;
2989 options missing=&optsave;
2990 %end;
2991 %end;
2992
2993 /*Create macro variables containing ordered lists of the requested transposed variable
2994 names for character (varlist_char) and numeric (varlist_num) var variables */
2995 %if %length(&preloadfmt.) gt 0 %then %do;
2996 %if %sysfunc(countw(&preloadfmt.)) eq 1 %then %do;
2997 %let preloadfmt=&libname_in..&preloadfmt.;
2998 %end;
2999 %end;
3000 %else %do;
3001 %if %sysfunc(upcase("&sort.")) eq "YES" %then
3002 %let dsoptions=;
3003 proc freq data=&libname_in..&data. (obs=&guessingrows. keep=&id. &dsoptions.)
3004 noprint;
3005 tables &id./out=_for_format (keep=&id.);
3006 run;
3007 %if %sysfunc(upcase("&descendingid.")) eq "YES" %then %do;
3008 proc sort data=_for_format;
3009 by descending &id;
3010 run;
3011 %end;
3012 data _for_format;
3013 set _for_format;
3014 order=_n_;
3015 run;
3016 %end;
3017
3018 proc sql noprint;
3019 %do i=1 %to 2;
3020 %if &i. eq 1 %then %let i_type=char;
3021 %else %let i_type=num;
3022 %if %length(&&vars_&i_type.) gt 0 %then %do;
3023 select distinct
3024 %do j=1 %to 2;
3025 %if &j. eq 1 %then %let j_type=;
3026 %else %let j_type=format;
3027 %do k=1 %to %sysfunc(countw(&&vars_&i_type.));
3028 "&j_type. "||cats("&prefix.",
3029 %if %sysfunc(upcase("&var_first.")) eq "NO" %then %do;
3030 put(&id.,&format),"&delimiter."
3031 %if %sysfunc(upcase("&use_varname.")) ne "NO" %then
3032 ,scan("&&vars_&i_type.",&k.);
3033 %end;
3034 %else %do;
3035 %if %sysfunc(upcase("&use_varname.")) ne "NO" %then
3036 scan("&&vars_&i_type.",&k.),;
3037 "&delimiter.",put(&id.,&format)
3038 %end;
3039 )
3040 %if &j. eq 2 %then
3041 ||" "||cats(scan("&&formats_&i_type.",&k.,"~"),";");
3042 %if &k. lt %sysfunc(countw(&&vars_&i_type.)) %then ||;
3043 %else ,;
3044 %end;
3045 %end;
3046 %if "&tr_macro_type." eq "num " %then &id. format=best12.;
3047 %else &id.;
3048 ,order
3049 into :varlist_&i_type. separated by " ",
3050 :format_&i_type. separated by " ",
3051 :idlist separated by " ",
3052 :idorder separated by " "
3053 %if %length(&preloadfmt.) gt 0 %then from &preloadfmt.;
3054 %else from _for_format;
3055 order by order
3056 ;
3057 %let num_numlabels=&sqlobs.;
3058 %end;
3059 %end;
3060 quit;
3061
3062 proc sql noprint;
3063 select distinct
3064 %let j_type=;
3065 %do k=1 %to %sysfunc(countw(&&vars_all.));
3066 "&j_type. "||cats("&prefix.",
3067
3068 %if %sysfunc(upcase("&var_first.")) eq "NO" %then %do;
3069 put(&id.,&format),"&delimiter.",
3070 %if %sysfunc(upcase("&use_varname.")) ne "NO" %then
3071 scan("&&vars_all.",&k.);
3072 )
3073 %end;
3074 %else %do;
3075 %if %sysfunc(upcase("&use_varname.")) ne "NO" %then
3076 scan("&&vars_all.",&k.),;
3077 "&delimiter.",put(&id.,&format))
3078 %end;
3079 %if &k. lt %sysfunc(countw(&&vars_all.)) %then ||;
3080 %else ,;
3081 %end;
3082 order
3083 into :varlist_all separated by " ",
3084 :idorder separated by " "
3085 %if %length(&preloadfmt.) gt 0 %then from &preloadfmt.;
3086 %else from _for_format;
3087 order by order
3088 ;
3089 quit;
3090
3091 /*Create a format that will be used to assign values to the transposed variables*/
3092 data _for_format;
3093 %if %length(&preloadfmt.) gt 0 %then set &preloadfmt. (rename=(&id.=start));
3094 %else set _for_format (rename=(&id.=start));
3095 ;
3096 %if "&tr_macro_type." eq "num " %then retain fmtname "labelfmt" type "N";
3097 %else retain fmtname "$labelfmt" type "C";
3098 ;
3099 label=
3100 %if %length(&preloadfmt.) eq 0 %then _n_-1;
3101 %else order-1;
3102 ;
3103 run;
3104
3105 proc format cntlin = _for_format;
3106 run ;
3107
3108 /*Create and run the datastep that does the transposition*/
3109 data &libname_out..&out.;
3110 set &libname_in..&data. (keep=&by. &id.
3111 %do i=1 %to %sysfunc(countw("&vars_char."));
3112 %scan(&vars_char.,&i.)
3113 %end;
3114 %do i=1 %to %sysfunc(countw("&vars_num."));
3115 %scan(&vars_num.,&i.)
3116 %end;
3117 %do i=1 %to %sysfunc(countw("&to_copy."));
3118 %scan(&to_copy.,&i.)
3119 %end;
3120 &dsoptions.
3121 );
3122 by &by. &notsorted.;
3123 &format_char. &format_num.
3124 %if %length(&vars_char.) gt 0 %then %do;
3125 array want_char(*) $
3126 %do i=1 %to %eval(&num_numlabels.*%sysfunc(countw("&vars_char.")));
3127 %scan(&varlist_char.,&i.)
3128 %end;
3129 ;
3130 array have_char(*) $ &vars_char.;
3131 retain want_char;
3132 if first.&lastby. then call missing(of want_char(*));
3133 ___nchar=put(&id.,labelfmt.)*dim(have_char);
3134 do ___i=1 to dim(have_char);
3135 want_char(___nchar+___i)=have_char(___i);
3136 end;
3137 %end;
3138 %if %length(&vars_num.) gt 0 %then %do;
3139 array want_num(*)
3140 %do i=1 %to %eval(&num_numlabels.*%sysfunc(countw("&vars_num.")));
3141 %scan(&varlist_num.,&i.)
3142 %end;
3143 ;
3144 array have_num(*) &vars_num.;
3145 retain want_num;
3146 if first.&lastby. then call missing(of want_num(*));
3147 ___nnum=put(&id.,labelfmt.)*dim(have_num);
3148 do ___i=1 to dim(have_num);
3149 want_num(___nnum+___i)=have_num(___i);
3150 end;
3151 %end;
3152 drop &id. ___: &var. &drop.;
3153 if last.&lastby. then output;
3154 run;
3155
3156 data &libname_out..&out.;
3157 retain &by. &to_copy. &varlist_all.;
3158 set &libname_out..&out.;
3159 run;
3160
3161 /*Delete all temporary files*/
3162 proc delete data=work.t_e_m_p work._for_format;
3163 run;
3164
3165 %mend transpose;
3166 options NOQUOTELENMAX;
3167 proc sort data=have out=need nodupkey;
3168 by time_m sym_root;
3169 run;

NOTE: There were 179219 observations read from the data set WORK.HAVE.
NOTE: 13934 observations with duplicate key values were deleted.
NOTE: The data set WORK.NEED has 165285 observations and 5 variables.
NOTE: PROCEDURE SORT used (Total process time):
real time 0.07 seconds
cpu time 0.12 seconds


3170
3171 %transpose(data=need, out=want, by=time_m, id=sym_root,
3172 delimiter=_,var=price size)

NOTE: There were 1 observations read from the data set WORK.NEED.
NOTE: The data set WORK.T_E_M_P has 1 observations and 2 variables.
NOTE: DATA statement used (Total process time):
real time 0.01 seconds
cpu time 0.00 seconds


NOTE: No rows were selected.
NOTE: PROCEDURE SQL used (Total process time):
real time 0.01 seconds
cpu time 0.01 seconds


NOTE: PROCEDURE SQL used (Total process time):
real time 0.00 seconds
cpu time 0.00 seconds



NOTE: There were 165285 observations read from the data set WORK.NEED.
NOTE: The data set WORK._FOR_FORMAT has 471 observations and 1 variables.
NOTE: PROCEDURE FREQ used (Total process time):
real time 0.08 seconds
cpu time 0.06 seconds



NOTE: There were 471 observations read from the data set WORK._FOR_FORMAT.
NOTE: The data set WORK._FOR_FORMAT has 471 observations and 2 variables.
NOTE: DATA statement used (Total process time):
real time 0.01 seconds
cpu time 0.01 seconds


NOTE: PROCEDURE SQL used (Total process time):
real time 0.04 seconds
cpu time 0.01 seconds


NOTE: PROCEDURE SQL used (Total process time):
real time 0.01 seconds
cpu time 0.01 seconds



NOTE: There were 471 observations read from the data set WORK._FOR_FORMAT.
NOTE: The data set WORK._FOR_FORMAT has 471 observations and 5 variables.
NOTE: DATA statement used (Total process time):
real time 0.01 seconds
cpu time 0.01 seconds


ERROR: These two ranges overlap: LOW-LOW and A-A (fuzz=0).

WARNING: RUN statement ignored due to previous errors. Submit QUIT; to terminate the procedure.
NOTE: PROCEDURE FORMAT used (Total process time):
real time 0.01 seconds
cpu time 0.01 seconds

NOTE: The SAS System stopped processing this step because of errors.
NOTE: There were 471 observations read from the data set WORK._FOR_FORMAT.


NOTE: Line generated by the invoked macro "TRANSPOSE".
1997 ; array have_num(*) &vars_num.; retain want_num; if first.&lastby. then
1997! call missing(of want_num(*)); ___nnum=put(&id.,labelfmt.)*dim(have_num); do
---------
48
1997! ___i=1 to dim(have_num); want_num(___nnum+___i)=have_num(___i); end;

ERROR 48-59: The format $LABELFMT was not found or could not be loaded.

NOTE: Character values have been converted to numeric values at the places given by:
(Line)Smiley SadColumn).
1997:132
NOTE: The SAS System stopped processing this step because of errors.
WARNING: The data set WORK.WANT may be incomplete. When this step was stopped there were 0
observations and 943 variables.
WARNING: Data set WORK.WANT was not replaced because this step was stopped.
NOTE: DATA statement used (Total process time):
real time 0.68 seconds
cpu time 0.67 seconds




NOTE: Variable time_m is uninitialized.
NOTE: Variable SIZE_A is uninitialized.
NOTE: Variable PRICE_A is uninitialized.
NOTE: Variable SIZE_AA is uninitialized.
NOTE: Variable PRICE_AA is uninitialized.
NOTE: Variable SIZE_AAPL is uninitialized.
NOTE: Variable PRICE_AAPL is uninitialized.
NOTE: Variable SIZE_ABC is uninitialized.
NOTE: Variable PRICE_ABC is uninitialized.
NOTE: Variable SIZE_ABT is uninitialized.
NOTE: Variable PRICE_ABT is uninitialized.
NOTE: Variable SIZE_ADBE is uninitialized.
NOTE: Variable PRICE_ADBE is uninitialized.
NOTE: Variable SIZE_ADI is uninitialized.
NOTE: Variable PRICE_ADI is uninitialized.
NOTE: Variable SIZE_ADM is uninitialized.
NOTE: Variable PRICE_ADM is uninitialized.
NOTE: Variable SIZE_ADP is uninitialized.
NOTE: Variable PRICE_ADP is uninitialized.
NOTE: Variable SIZE_ADSK is uninitialized.
NOTE: Variable PRICE_ADSK is uninitialized.
NOTE: Variable SIZE_AEE is uninitialized.
NOTE: Variable PRICE_AEE is uninitialized.
NOTE: Variable SIZE_AEP is uninitialized.
NOTE: Variable PRICE_AEP is uninitialized.
NOTE: Variable SIZE_AES is uninitialized.
NOTE: Variable PRICE_AES is uninitialized.
NOTE: Variable SIZE_AET is uninitialized.
NOTE: Variable PRICE_AET is uninitialized.
NOTE: Variable SIZE_AFL is uninitialized.
NOTE: Variable PRICE_AFL is uninitialized.
NOTE: Variable SIZE_AGN is uninitialized.
NOTE: Variable PRICE_AGN is uninitialized.
NOTE: Variable SIZE_AIG is uninitialized.
NOTE: Variable PRICE_AIG is uninitialized.
NOTE: Variable SIZE_AIV is uninitialized.
NOTE: Variable PRICE_AIV is uninitialized.
NOTE: Variable SIZE_AIZ is uninitialized.
NOTE: Variable PRICE_AIZ is uninitialized.
NOTE: Variable SIZE_AKAM is uninitialized.
NOTE: Variable PRICE_AKAM is uninitialized.
NOTE: Variable SIZE_AKS is uninitialized.
NOTE: Variable PRICE_AKS is uninitialized.
NOTE: Variable SIZE_ALL is uninitialized.
NOTE: Variable PRICE_ALL is uninitialized.
NOTE: Variable SIZE_ALTR is uninitialized.
NOTE: Variable PRICE_ALTR is uninitialized.
NOTE: Variable SIZE_AMAT is uninitialized.
NOTE: Variable PRICE_AMAT is uninitialized.
NOTE: Variable SIZE_AMD is uninitialized.
NOTE: Variable PRICE_AMD is uninitialized.
NOTE: Variable SIZE_AMGN is uninitialized.
NOTE: Variable PRICE_AMGN is uninitialized.
NOTE: Variable SIZE_AMP is uninitialized.
NOTE: Variable PRICE_AMP is uninitialized.
NOTE: Variable SIZE_AMT is uninitialized.
NOTE: Variable PRICE_AMT is uninitialized.
NOTE: Variable SIZE_AMZN is uninitialized.
NOTE: Variable PRICE_AMZN is uninitialized.
NOTE: Variable SIZE_AN is uninitialized.
NOTE: Variable PRICE_AN is uninitialized.
NOTE: Variable SIZE_ANF is uninitialized.
NOTE: Variable PRICE_ANF is uninitialized.
NOTE: Variable SIZE_AON is uninitialized.
NOTE: Variable PRICE_AON is uninitialized.
NOTE: Variable SIZE_APA is uninitialized.
NOTE: Variable PRICE_APA is uninitialized.
NOTE: Variable SIZE_APC is uninitialized.
NOTE: Variable PRICE_APC is uninitialized.
NOTE: Variable SIZE_APD is uninitialized.
NOTE: Variable PRICE_APD is uninitialized.
NOTE: Variable SIZE_APH is uninitialized.
NOTE: Variable PRICE_APH is uninitialized.
NOTE: Variable SIZE_APOL is uninitialized.
NOTE: Variable PRICE_APOL is uninitialized.
NOTE: Variable SIZE_ARG is uninitialized.
NOTE: Variable PRICE_ARG is uninitialized.
NOTE: Variable SIZE_ATI is uninitialized.
NOTE: Variable PRICE_ATI is uninitialized.
NOTE: Variable SIZE_AVB is uninitialized.
NOTE: Variable PRICE_AVB is uninitialized.
NOTE: Variable SIZE_AVP is uninitialized.
NOTE: Variable PRICE_AVP is uninitialized.
NOTE: Variable SIZE_AVY is uninitialized.
NOTE: Variable PRICE_AVY is uninitialized.
NOTE: Variable SIZE_AXP is uninitialized.
NOTE: Variable PRICE_AXP is uninitialized.
NOTE: Variable SIZE_AYE is uninitialized.
NOTE: Variable PRICE_AYE is uninitialized.
NOTE: Variable SIZE_AZO is uninitialized.
NOTE: Variable PRICE_AZO is uninitialized.
NOTE: Variable SIZE_BA is uninitialized.
NOTE: Variable PRICE_BA is uninitialized.
NOTE: Variable SIZE_BAC is uninitialized.
NOTE: Variable PRICE_BAC is uninitialized.
NOTE: Variable SIZE_BAX is uninitialized.
NOTE: Variable PRICE_BAX is uninitialized.
NOTE: Variable SIZE_BBBY is uninitialized.
NOTE: Variable PRICE_BBBY is uninitialized.
NOTE: Variable SIZE_BBT is uninitialized.
NOTE: Variable PRICE_BBT is uninitialized.
NOTE: Variable SIZE_BBY is uninitialized.
NOTE: Variable PRICE_BBY is uninitialized.
NOTE: Variable SIZE_BCR is uninitialized.
NOTE: Variable PRICE_BCR is uninitialized.
NOTE: Variable SIZE_BDX is uninitialized.
NOTE: Variable PRICE_BDX is uninitialized.
NOTE: Variable SIZE_BEN is uninitialized.
NOTE: Variable PRICE_BEN is uninitialized.
NOTE: Variable SIZE_BHI is uninitialized.
NOTE: Variable PRICE_BHI is uninitialized.
NOTE: Variable SIZE_BIG is uninitialized.
NOTE: Variable PRICE_BIG is uninitialized.
NOTE: Variable SIZE_BIIB is uninitialized.
NOTE: Variable PRICE_BIIB is uninitialized.
NOTE: Variable SIZE_BK is uninitialized.
NOTE: Variable PRICE_BK is uninitialized.
NOTE: Variable SIZE_BLL is uninitialized.
NOTE: Variable PRICE_BLL is uninitialized.
NOTE: Variable SIZE_BMC is uninitialized.
NOTE: Variable PRICE_BMC is uninitialized.
NOTE: Variable SIZE_BMS is uninitialized.
NOTE: Variable PRICE_BMS is uninitialized.
NOTE: Variable SIZE_BMY is uninitialized.
NOTE: Variable PRICE_BMY is uninitialized.
NOTE: Variable SIZE_BRCM is uninitialized.
NOTE: Variable PRICE_BRCM is uninitialized.
NOTE: Variable SIZE_BSX is uninitialized.
NOTE: Variable PRICE_BSX is uninitialized.
NOTE: Variable SIZE_BTU is uninitialized.
NOTE: Variable PRICE_BTU is uninitialized.
NOTE: Variable SIZE_BXP is uninitialized.
NOTE: Variable PRICE_BXP is uninitialized.
NOTE: Variable SIZE_C is uninitialized.
NOTE: Variable PRICE_C is uninitialized.
NOTE: Variable SIZE_CA is uninitialized.
NOTE: Variable PRICE_CA is uninitialized.
NOTE: Variable SIZE_CAG is uninitialized.
NOTE: Variable PRICE_CAG is uninitialized.
NOTE: Variable SIZE_CAH is uninitialized.
NOTE: Variable PRICE_CAH is uninitialized.
NOTE: Variable SIZE_CAM is uninitialized.
NOTE: Variable PRICE_CAM is uninitialized.
NOTE: Variable SIZE_CAT is uninitialized.
NOTE: Variable PRICE_CAT is uninitialized.
NOTE: Variable SIZE_CB is uninitialized.
NOTE: Variable PRICE_CB is uninitialized.
NOTE: Variable SIZE_CBG is uninitialized.
NOTE: Variable PRICE_CBG is uninitialized.
NOTE: Variable SIZE_CBS is uninitialized.
NOTE: Variable PRICE_CBS is uninitialized.
NOTE: Variable SIZE_CCE is uninitialized.
NOTE: Variable PRICE_CCE is uninitialized.
NOTE: Variable SIZE_CCL is uninitialized.
NOTE: Variable PRICE_CCL is uninitialized.
NOTE: Variable SIZE_CEG is uninitialized.
NOTE: Variable PRICE_CEG is uninitialized.
NOTE: Variable SIZE_CELG is uninitialized.
NOTE: Variable PRICE_CELG is uninitialized.
NOTE: Variable SIZE_CEPH is uninitialized.
NOTE: Variable PRICE_CEPH is uninitialized.
NOTE: Variable SIZE_CF is uninitialized.
NOTE: Variable PRICE_CF is uninitialized.
NOTE: Variable SIZE_CFN is uninitialized.
NOTE: Variable PRICE_CFN is uninitialized.
NOTE: Variable SIZE_CHK is uninitialized.
NOTE: Variable PRICE_CHK is uninitialized.
NOTE: Variable SIZE_CHRW is uninitialized.
NOTE: Variable PRICE_CHRW is uninitialized.
NOTE: Variable SIZE_CI is uninitialized.
NOTE: Variable PRICE_CI is uninitialized.
NOTE: Variable SIZE_CINF is uninitialized.
NOTE: Variable PRICE_CINF is uninitialized.
NOTE: Variable SIZE_CL is uninitialized.
NOTE: Variable PRICE_CL is uninitialized.
NOTE: Variable SIZE_CLF is uninitialized.
NOTE: Variable PRICE_CLF is uninitialized.
NOTE: Variable SIZE_CLX is uninitialized.
NOTE: Variable PRICE_CLX is uninitialized.
NOTE: Variable SIZE_CMA is uninitialized.
NOTE: Variable PRICE_CMA is uninitialized.
NOTE: Variable SIZE_CME is uninitialized.
NOTE: Variable PRICE_CME is uninitialized.
NOTE: Variable SIZE_CMI is uninitialized.
NOTE: Variable PRICE_CMI is uninitialized.
NOTE: Variable SIZE_CMS is uninitialized.
NOTE: Variable PRICE_CMS is uninitialized.
NOTE: Variable SIZE_CNP is uninitialized.
NOTE: Variable PRICE_CNP is uninitialized.
NOTE: Variable SIZE_CNX is uninitialized.
NOTE: Variable PRICE_CNX is uninitialized.
NOTE: Variable SIZE_COF is uninitialized.
NOTE: Variable PRICE_COF is uninitialized.
NOTE: Variable SIZE_COG is uninitialized.
NOTE: Variable PRICE_COG is uninitialized.
NOTE: Variable SIZE_COH is uninitialized.
NOTE: Variable PRICE_COH is uninitialized.
NOTE: Variable SIZE_COL is uninitialized.
NOTE: Variable PRICE_COL is uninitialized.
NOTE: Variable SIZE_COP is uninitialized.
NOTE: Variable PRICE_COP is uninitialized.
NOTE: Variable SIZE_COST is uninitialized.
NOTE: Variable PRICE_COST is uninitialized.
NOTE: Variable SIZE_CPB is uninitialized.
NOTE: Variable PRICE_CPB is uninitialized.
NOTE: Variable SIZE_CPWR is uninitialized.
NOTE: Variable PRICE_CPWR is uninitialized.
NOTE: Variable SIZE_CRM is uninitialized.
NOTE: Variable PRICE_CRM is uninitialized.
NOTE: Variable SIZE_CSC is uninitialized.
NOTE: Variable PRICE_CSC is uninitialized.
NOTE: Variable SIZE_CSCO is uninitialized.
NOTE: Variable PRICE_CSCO is uninitialized.
NOTE: Variable SIZE_CSX is uninitialized.
NOTE: Variable PRICE_CSX is uninitialized.
NOTE: Variable SIZE_CTAS is uninitialized.
NOTE: Variable PRICE_CTAS is uninitialized.
NOTE: Variable SIZE_CTL is uninitialized.
NOTE: Variable PRICE_CTL is uninitialized.
NOTE: Variable SIZE_CTSH is uninitialized.
NOTE: Variable PRICE_CTSH is uninitialized.
NOTE: Variable SIZE_CTXS is uninitialized.
NOTE: Variable PRICE_CTXS is uninitialized.
NOTE: Variable SIZE_CVH is uninitialized.
NOTE: Variable PRICE_CVH is uninitialized.
NOTE: Variable SIZE_CVS is uninitialized.
NOTE: Variable PRICE_CVS is uninitialized.
NOTE: Variable SIZE_CVX is uninitialized.
NOTE: Variable PRICE_CVX is uninitialized.
NOTE: Variable SIZE_D is uninitialized.
NOTE: Variable PRICE_D is uninitialized.
NOTE: Variable SIZE_DD is uninitialized.
NOTE: Variable PRICE_DD is uninitialized.
NOTE: Variable SIZE_DE is uninitialized.
NOTE: Variable PRICE_DE is uninitialized.
NOTE: Variable SIZE_DELL is uninitialized.
NOTE: Variable PRICE_DELL is uninitialized.
NOTE: Variable SIZE_DF is uninitialized.
NOTE: Variable PRICE_DF is uninitialized.
NOTE: Variable SIZE_DFS is uninitialized.
NOTE: Variable PRICE_DFS is uninitialized.
NOTE: Variable SIZE_DGX is uninitialized.
NOTE: Variable PRICE_DGX is uninitialized.
NOTE: Variable SIZE_DHI is uninitialized.
NOTE: Variable PRICE_DHI is uninitialized.
NOTE: Variable SIZE_DHR is uninitialized.
NOTE: Variable PRICE_DHR is uninitialized.
NOTE: Variable SIZE_DIS is uninitialized.
NOTE: Variable PRICE_DIS is uninitialized.
NOTE: Variable SIZE_DNB is uninitialized.
NOTE: Variable PRICE_DNB is uninitialized.
NOTE: Variable SIZE_DNR is uninitialized.
NOTE: Variable PRICE_DNR is uninitialized.
NOTE: Variable SIZE_DO is uninitialized.
NOTE: Variable PRICE_DO is uninitialized.
NOTE: Variable SIZE_DOV is uninitialized.
NOTE: Variable PRICE_DOV is uninitialized.
NOTE: Variable SIZE_DOW is uninitialized.
NOTE: Variable PRICE_DOW is uninitialized.
NOTE: Variable SIZE_DPS is uninitialized.
NOTE: Variable PRICE_DPS is uninitialized.
NOTE: Variable SIZE_DRI is uninitialized.
NOTE: Variable PRICE_DRI is uninitialized.
NOTE: Variable SIZE_DTE is uninitialized.
NOTE: Variable PRICE_DTE is uninitialized.
NOTE: Variable SIZE_DTV is uninitialized.
NOTE: Variable PRICE_DTV is uninitialized.
NOTE: Variable SIZE_DUK is uninitialized.
NOTE: Variable PRICE_DUK is uninitialized.
NOTE: Variable SIZE_DV is uninitialized.
NOTE: Variable PRICE_DV is uninitialized.
NOTE: Variable SIZE_DVA is uninitialized.
NOTE: Variable PRICE_DVA is uninitialized.
NOTE: Variable SIZE_DVN is uninitialized.
NOTE: Variable PRICE_DVN is uninitialized.
NOTE: Variable SIZE_EBAY is uninitialized.
NOTE: Variable PRICE_EBAY is uninitialized.
NOTE: Variable SIZE_ECL is uninitialized.
NOTE: Variable PRICE_ECL is uninitialized.
NOTE: Variable SIZE_ED is uninitialized.
NOTE: Variable PRICE_ED is uninitialized.
NOTE: Variable SIZE_EFX is uninitialized.
NOTE: Variable PRICE_EFX is uninitialized.
NOTE: Variable SIZE_EIX is uninitialized.
NOTE: Variable PRICE_EIX is uninitialized.
NOTE: Variable SIZE_EL is uninitialized.
NOTE: Variable PRICE_EL is uninitialized.
NOTE: Variable SIZE_EMC is uninitialized.
NOTE: Variable PRICE_EMC is uninitialized.
NOTE: Variable SIZE_EMN is uninitialized.
NOTE: Variable PRICE_EMN is uninitialized.
NOTE: Variable SIZE_EMR is uninitialized.
NOTE: Variable PRICE_EMR is uninitialized.
NOTE: Variable SIZE_EOG is uninitialized.
NOTE: Variable PRICE_EOG is uninitialized.
NOTE: Variable SIZE_EP is uninitialized.
NOTE: Variable PRICE_EP is uninitialized.
NOTE: Variable SIZE_EQR is uninitialized.
NOTE: Variable PRICE_EQR is uninitialized.
NOTE: Variable SIZE_EQT is uninitialized.
NOTE: Variable PRICE_EQT is uninitialized.
NOTE: Variable SIZE_ES is uninitialized.
NOTE: Variable PRICE_ES is uninitialized.
NOTE: Variable SIZE_ESRX is uninitialized.
NOTE: Variable PRICE_ESRX is uninitialized.
NOTE: Variable SIZE_ETFC is uninitialized.
NOTE: Variable PRICE_ETFC is uninitialized.
NOTE: Variable SIZE_ETN is uninitialized.
NOTE: Variable PRICE_ETN is uninitialized.
NOTE: Variable SIZE_ETR is uninitialized.
NOTE: Variable PRICE_ETR is uninitialized.
NOTE: Variable SIZE_EXC is uninitialized.
NOTE: Variable PRICE_EXC is uninitialized.
NOTE: Variable SIZE_EXPD is uninitialized.
NOTE: Variable PRICE_EXPD is uninitialized.
NOTE: Variable SIZE_EXPE is uninitialized.
NOTE: Variable PRICE_EXPE is uninitialized.
NOTE: Variable SIZE_F is uninitialized.
NOTE: Variable PRICE_F is uninitialized.
NOTE: Variable SIZE_FAST is uninitialized.
NOTE: Variable PRICE_FAST is uninitialized.
NOTE: Variable SIZE_FCX is uninitialized.
NOTE: Variable PRICE_FCX is uninitialized.
NOTE: Variable SIZE_FDO is uninitialized.
NOTE: Variable PRICE_FDO is uninitialized.
NOTE: Variable SIZE_FDX is uninitialized.
NOTE: Variable PRICE_FDX is uninitialized.
NOTE: Variable SIZE_FE is uninitialized.
NOTE: Variable PRICE_FE is uninitialized.
NOTE: Variable SIZE_FHN is uninitialized.
NOTE: Variable PRICE_FHN is uninitialized.
NOTE: Variable SIZE_FII is uninitialized.
NOTE: Variable PRICE_FII is uninitialized.
NOTE: Variable SIZE_FIS is uninitialized.
NOTE: Variable PRICE_FIS is uninitialized.
NOTE: Variable SIZE_FISV is uninitialized.
NOTE: Variable PRICE_FISV is uninitialized.
NOTE: Variable SIZE_FITB is uninitialized.
NOTE: Variable PRICE_FITB is uninitialized.
NOTE: Variable SIZE_FLIR is uninitialized.
NOTE: Variable PRICE_FLIR is uninitialized.
NOTE: Variable SIZE_FLR is uninitialized.
NOTE: Variable PRICE_FLR is uninitialized.
NOTE: Variable SIZE_FLS is uninitialized.
NOTE: Variable PRICE_FLS is uninitialized.
NOTE: Variable SIZE_FMC is uninitialized.
NOTE: Variable PRICE_FMC is uninitialized.
NOTE: Variable SIZE_FRX is uninitialized.
NOTE: Variable PRICE_FRX is uninitialized.
NOTE: Variable SIZE_FSLR is uninitialized.
NOTE: Variable PRICE_FSLR is uninitialized.
NOTE: Variable SIZE_FTI is uninitialized.
NOTE: Variable PRICE_FTI is uninitialized.
NOTE: Variable SIZE_FTR is uninitialized.
NOTE: Variable PRICE_FTR is uninitialized.
NOTE: Variable SIZE_GAS is uninitialized.
NOTE: Variable PRICE_GAS is uninitialized.
NOTE: Variable SIZE_GD is uninitialized.
NOTE: Variable PRICE_GD is uninitialized.
NOTE: Variable SIZE_GE is uninitialized.
NOTE: Variable PRICE_GE is uninitialized.
NOTE: Variable SIZE_GENZ is uninitialized.
NOTE: Variable PRICE_GENZ is uninitialized.
NOTE: Variable SIZE_GILD is uninitialized.
NOTE: Variable PRICE_GILD is uninitialized.
NOTE: Variable SIZE_GIS is uninitialized.
NOTE: Variable PRICE_GIS is uninitialized.
NOTE: Variable SIZE_GLW is uninitialized.
NOTE: Variable PRICE_GLW is uninitialized.
NOTE: Variable SIZE_GME is uninitialized.
NOTE: Variable PRICE_GME is uninitialized.
NOTE: Variable SIZE_GNW is uninitialized.
NOTE: Variable PRICE_GNW is uninitialized.
NOTE: Variable SIZE_GPC is uninitialized.
NOTE: Variable PRICE_GPC is uninitialized.
NOTE: Variable SIZE_GPS is uninitialized.
NOTE: Variable PRICE_GPS is uninitialized.
NOTE: Variable SIZE_GR is uninitialized.
NOTE: Variable PRICE_GR is uninitialized.
NOTE: Variable SIZE_GS is uninitialized.
NOTE: Variable PRICE_GS is uninitialized.
NOTE: Variable SIZE_GT is uninitialized.
NOTE: Variable PRICE_GT is uninitialized.
NOTE: Variable SIZE_GWW is uninitialized.
NOTE: Variable PRICE_GWW is uninitialized.
NOTE: Variable SIZE_HAL is uninitialized.
NOTE: Variable PRICE_HAL is uninitialized.
NOTE: Variable SIZE_HAR is uninitialized.
NOTE: Variable PRICE_HAR is uninitialized.
NOTE: Variable SIZE_HAS is uninitialized.
NOTE: Variable PRICE_HAS is uninitialized.
NOTE: Variable SIZE_HBAN is uninitialized.
NOTE: Variable PRICE_HBAN is uninitialized.
NOTE: Variable SIZE_HCBK is uninitialized.
NOTE: Variable PRICE_HCBK is uninitialized.
NOTE: Variable SIZE_HCN is uninitialized.
NOTE: Variable PRICE_HCN is uninitialized.
NOTE: Variable SIZE_HCP is uninitialized.
NOTE: Variable PRICE_HCP is uninitialized.
NOTE: Variable SIZE_HD is uninitialized.
NOTE: Variable PRICE_HD is uninitialized.
NOTE: Variable SIZE_HES is uninitialized.
NOTE: Variable PRICE_HES is uninitialized.
NOTE: Variable SIZE_HIG is uninitialized.
NOTE: Variable PRICE_HIG is uninitialized.
NOTE: Variable SIZE_HOG is uninitialized.
NOTE: Variable PRICE_HOG is uninitialized.
NOTE: Variable SIZE_HON is uninitialized.
NOTE: Variable PRICE_HON is uninitialized.
NOTE: Variable SIZE_HOT is uninitialized.
NOTE: Variable PRICE_HOT is uninitialized.
NOTE: Variable SIZE_HP is uninitialized.
NOTE: Variable PRICE_HP is uninitialized.
NOTE: Variable SIZE_HPQ is uninitialized.
NOTE: Variable PRICE_HPQ is uninitialized.
NOTE: Variable SIZE_HRB is uninitialized.
NOTE: Variable PRICE_HRB is uninitialized.
NOTE: Variable SIZE_HRL is uninitialized.
NOTE: Variable PRICE_HRL is uninitialized.
NOTE: Variable SIZE_HRS is uninitialized.
NOTE: Variable PRICE_HRS is uninitialized.
NOTE: Variable SIZE_HS is uninitialized.
NOTE: Variable PRICE_HS is uninitialized.
NOTE: Variable SIZE_HSP is uninitialized.
NOTE: Variable PRICE_HSP is uninitialized.
NOTE: Variable SIZE_HST is uninitialized.
NOTE: Variable PRICE_HST is uninitialized.
NOTE: Variable SIZE_HUM is uninitialized.
NOTE: Variable PRICE_HUM is uninitialized.
NOTE: Variable SIZE_IBM is uninitialized.
NOTE: Variable PRICE_IBM is uninitialized.
NOTE: Variable SIZE_ICE is uninitialized.
NOTE: Variable PRICE_ICE is uninitialized.
NOTE: Variable SIZE_IFF is uninitialized.
NOTE: Variable PRICE_IFF is uninitialized.
NOTE: Variable SIZE_IGT is uninitialized.
NOTE: Variable PRICE_IGT is uninitialized.
NOTE: Variable SIZE_IMS is uninitialized.
NOTE: Variable PRICE_IMS is uninitialized.
NOTE: Variable SIZE_INTC is uninitialized.
NOTE: Variable PRICE_INTC is uninitialized.
NOTE: Variable SIZE_INTU is uninitialized.
NOTE: Variable PRICE_INTU is uninitialized.
NOTE: Variable SIZE_IP is uninitialized.
NOTE: Variable PRICE_IP is uninitialized.
NOTE: Variable SIZE_IPG is uninitialized.
NOTE: Variable PRICE_IPG is uninitialized.
NOTE: Variable SIZE_IRM is uninitialized.
NOTE: Variable PRICE_IRM is uninitialized.
NOTE: Variable SIZE_ISRG is uninitialized.
NOTE: Variable PRICE_ISRG is uninitialized.
NOTE: Variable SIZE_ITT is uninitialized.
NOTE: Variable PRICE_ITT is uninitialized.
NOTE: Variable SIZE_ITW is uninitialized.
NOTE: Variable PRICE_ITW is uninitialized.
NOTE: Variable SIZE_IVZ is uninitialized.
NOTE: Variable PRICE_IVZ is uninitialized.
NOTE: Variable SIZE_JBL is uninitialized.
NOTE: Variable PRICE_JBL is uninitialized.
NOTE: Variable SIZE_JCI is uninitialized.
NOTE: Variable PRICE_JCI is uninitialized.
NOTE: Variable SIZE_JCP is uninitialized.
NOTE: Variable PRICE_JCP is uninitialized.
NOTE: Variable SIZE_JEC is uninitialized.
NOTE: Variable PRICE_JEC is uninitialized.
NOTE: Variable SIZE_JNJ is uninitialized.
NOTE: Variable PRICE_JNJ is uninitialized.
NOTE: Variable SIZE_JNPR is uninitialized.
NOTE: Variable PRICE_JNPR is uninitialized.
NOTE: Variable SIZE_JNS is uninitialized.
NOTE: Variable PRICE_JNS is uninitialized.
NOTE: Variable SIZE_JPM is uninitialized.
NOTE: Variable PRICE_JPM is uninitialized.
NOTE: Variable SIZE_JWN is uninitialized.
NOTE: Variable PRICE_JWN is uninitialized.
NOTE: Variable SIZE_K is uninitialized.
NOTE: Variable PRICE_K is uninitialized.
NOTE: Variable SIZE_KEY is uninitialized.
NOTE: Variable PRICE_KEY is uninitialized.
NOTE: Variable SIZE_KG is uninitialized.
NOTE: Variable PRICE_KG is uninitialized.
NOTE: Variable SIZE_KIM is uninitialized.
NOTE: Variable PRICE_KIM is uninitialized.
NOTE: Variable SIZE_KLAC is uninitialized.
NOTE: Variable PRICE_KLAC is uninitialized.
NOTE: Variable SIZE_KMB is uninitialized.
NOTE: Variable PRICE_KMB is uninitialized.
NOTE: Variable SIZE_KO is uninitialized.
NOTE: Variable PRICE_KO is uninitialized.
NOTE: Variable SIZE_KR is uninitialized.
NOTE: Variable PRICE_KR is uninitialized.
NOTE: Variable SIZE_KSS is uninitialized.
NOTE: Variable PRICE_KSS is uninitialized.
NOTE: Variable SIZE_L is uninitialized.
NOTE: Variable PRICE_L is uninitialized.
NOTE: Variable SIZE_LB is uninitialized.
NOTE: Variable PRICE_LB is uninitialized.
NOTE: Variable SIZE_LEG is uninitialized.
NOTE: Variable PRICE_LEG is uninitialized.
NOTE: Variable SIZE_LEN is uninitialized.
NOTE: Variable PRICE_LEN is uninitialized.
NOTE: Variable SIZE_LH is uninitialized.
NOTE: Variable PRICE_LH is uninitialized.
NOTE: Variable SIZE_LIFE is uninitialized.
NOTE: Variable PRICE_LIFE is uninitialized.
NOTE: Variable SIZE_LLL is uninitialized.
NOTE: Variable PRICE_LLL is uninitialized.
NOTE: Variable SIZE_LLTC is uninitialized.
NOTE: Variable PRICE_LLTC is uninitialized.
NOTE: Variable SIZE_LLY is uninitialized.
NOTE: Variable PRICE_LLY is uninitialized.
NOTE: Variable SIZE_LM is uninitialized.
NOTE: Variable PRICE_LM is uninitialized.
NOTE: Variable SIZE_LMT is uninitialized.
NOTE: Variable PRICE_LMT is uninitialized.
NOTE: Variable SIZE_LNC is uninitialized.
NOTE: Variable PRICE_LNC is uninitialized.
NOTE: Variable SIZE_LO is uninitialized.
NOTE: Variable PRICE_LO is uninitialized.
NOTE: Variable SIZE_LOW is uninitialized.
NOTE: Variable PRICE_LOW is uninitialized.
NOTE: Variable SIZE_LSI is uninitialized.
NOTE: Variable PRICE_LSI is uninitialized.
NOTE: Variable SIZE_LUK is uninitialized.
NOTE: Variable PRICE_LUK is uninitialized.
NOTE: Variable SIZE_LUV is uninitialized.
NOTE: Variable PRICE_LUV is uninitialized.
NOTE: Variable SIZE_LXK is uninitialized.
NOTE: Variable PRICE_LXK is uninitialized.
NOTE: Variable SIZE_M is uninitialized.
NOTE: Variable PRICE_M is uninitialized.
NOTE: Variable SIZE_MA is uninitialized.
NOTE: Variable PRICE_MA is uninitialized.
NOTE: Variable SIZE_MAR is uninitialized.
NOTE: Variable PRICE_MAR is uninitialized.
NOTE: Variable SIZE_MAS is uninitialized.
NOTE: Variable PRICE_MAS is uninitialized.
NOTE: Variable SIZE_MAT is uninitialized.
NOTE: Variable PRICE_MAT is uninitialized.
NOTE: Variable SIZE_MCD is uninitialized.
NOTE: Variable PRICE_MCD is uninitialized.
NOTE: Variable SIZE_MCHP is uninitialized.
NOTE: Variable PRICE_MCHP is uninitialized.
NOTE: Variable SIZE_MCK is uninitialized.
NOTE: Variable PRICE_MCK is uninitialized.
NOTE: Variable SIZE_MCO is uninitialized.
NOTE: Variable PRICE_MCO is uninitialized.
NOTE: Variable SIZE_MDP is uninitialized.
NOTE: Variable PRICE_MDP is uninitialized.
NOTE: Variable SIZE_MDT is uninitialized.
NOTE: Variable PRICE_MDT is uninitialized.
NOTE: Variable SIZE_MEE is uninitialized.
NOTE: Variable PRICE_MEE is uninitialized.
NOTE: Variable SIZE_MET is uninitialized.
NOTE: Variable PRICE_MET is uninitialized.
NOTE: Variable SIZE_MFE is uninitialized.
NOTE: Variable PRICE_MFE is uninitialized.
NOTE: Variable SIZE_MHS is uninitialized.
NOTE: Variable PRICE_MHS is uninitialized.
NOTE: Variable SIZE_MI is uninitialized.
NOTE: Variable PRICE_MI is uninitialized.
NOTE: Variable SIZE_MIL is uninitialized.
NOTE: Variable PRICE_MIL is uninitialized.
NOTE: Variable SIZE_MJN is uninitialized.
NOTE: Variable PRICE_MJN is uninitialized.
NOTE: Variable SIZE_MKC is uninitialized.
NOTE: Variable PRICE_MKC is uninitialized.
NOTE: Variable SIZE_MMC is uninitialized.
NOTE: Variable PRICE_MMC is uninitialized.
NOTE: Variable SIZE_MMM is uninitialized.
NOTE: Variable PRICE_MMM is uninitialized.
NOTE: Variable SIZE_MO is uninitialized.
NOTE: Variable PRICE_MO is uninitialized.
NOTE: Variable SIZE_MOLX is uninitialized.
NOTE: Variable PRICE_MOLX is uninitialized.
NOTE: Variable SIZE_MON is uninitialized.
NOTE: Variable PRICE_MON is uninitialized.
NOTE: Variable SIZE_MRK is uninitialized.
NOTE: Variable PRICE_MRK is uninitialized.
NOTE: Variable SIZE_MRO is uninitialized.
NOTE: Variable PRICE_MRO is uninitialized.
NOTE: Variable SIZE_MS is uninitialized.
NOTE: Variable PRICE_MS is uninitialized.
NOTE: Variable SIZE_MSFT is uninitialized.
NOTE: Variable PRICE_MSFT is uninitialized.
NOTE: Variable SIZE_MTB is uninitialized.
NOTE: Variable PRICE_MTB is uninitialized.
NOTE: Variable SIZE_MU is uninitialized.
NOTE: Variable PRICE_MU is uninitialized.
NOTE: Variable SIZE_MUR is uninitialized.
NOTE: Variable PRICE_MUR is uninitialized.
NOTE: Variable SIZE_MWV is uninitialized.
NOTE: Variable PRICE_MWV is uninitialized.
NOTE: Variable SIZE_MWW is uninitialized.
NOTE: Variable PRICE_MWW is uninitialized.
NOTE: Variable SIZE_MYL is uninitialized.
NOTE: Variable PRICE_MYL is uninitialized.
NOTE: Variable SIZE_NAVI is uninitialized.
NOTE: Variable PRICE_NAVI is uninitialized.
NOTE: Variable SIZE_NBL is uninitialized.
NOTE: Variable PRICE_NBL is uninitialized.
NOTE: Variable SIZE_NBR is uninitialized.
NOTE: Variable PRICE_NBR is uninitialized.
NOTE: Variable SIZE_NDAQ is uninitialized.
NOTE: Variable PRICE_NDAQ is uninitialized.
NOTE: Variable SIZE_NEM is uninitialized.
NOTE: Variable PRICE_NEM is uninitialized.
NOTE: Variable SIZE_NI is uninitialized.
NOTE: Variable PRICE_NI is uninitialized.
NOTE: Variable SIZE_NKE is uninitialized.
NOTE: Variable PRICE_NKE is uninitialized.
NOTE: Variable SIZE_NOC is uninitialized.
NOTE: Variable PRICE_NOC is uninitialized.
NOTE: Variable SIZE_NOV is uninitialized.
NOTE: Variable PRICE_NOV is uninitialized.
NOTE: Variable SIZE_NOVL is uninitialized.
NOTE: Variable PRICE_NOVL is uninitialized.
NOTE: Variable SIZE_NRG is uninitialized.
NOTE: Variable PRICE_NRG is uninitialized.
NOTE: Variable SIZE_NSC is uninitialized.
NOTE: Variable PRICE_NSC is uninitialized.
NOTE: Variable SIZE_NSM is uninitialized.
NOTE: Variable PRICE_NSM is uninitialized.
NOTE: Variable SIZE_NTAP is uninitialized.
NOTE: Variable PRICE_NTAP is uninitialized.
NOTE: Variable SIZE_NTRS is uninitialized.
NOTE: Variable PRICE_NTRS is uninitialized.
NOTE: Variable SIZE_NUE is uninitialized.
NOTE: Variable PRICE_NUE is uninitialized.
NOTE: Variable SIZE_NVDA is uninitialized.
NOTE: Variable PRICE_NVDA is uninitialized.
NOTE: Variable SIZE_NVLS is uninitialized.
NOTE: Variable PRICE_NVLS is uninitialized.
NOTE: Variable SIZE_NWL is uninitialized.
NOTE: Variable PRICE_NWL is uninitialized.
NOTE: Variable SIZE_NYT is uninitialized.
NOTE: Variable PRICE_NYT is uninitialized.
NOTE: Variable SIZE_NYX is uninitialized.
NOTE: Variable PRICE_NYX is uninitialized.
NOTE: Variable SIZE_ODP is uninitialized.
NOTE: Variable PRICE_ODP is uninitialized.
NOTE: Variable SIZE_OI is uninitialized.
NOTE: Variable PRICE_OI is uninitialized.
NOTE: Variable SIZE_OKE is uninitialized.
NOTE: Variable PRICE_OKE is uninitialized.
NOTE: Variable SIZE_OMC is uninitialized.
NOTE: Variable PRICE_OMC is uninitialized.
NOTE: Variable SIZE_ORCL is uninitialized.
NOTE: Variable PRICE_ORCL is uninitialized.
NOTE: Variable SIZE_ORLY is uninitialized.
NOTE: Variable PRICE_ORLY is uninitialized.
NOTE: Variable SIZE_OXY is uninitialized.
NOTE: Variable PRICE_OXY is uninitialized.
NOTE: Variable SIZE_PAYX is uninitialized.
NOTE: Variable PRICE_PAYX is uninitialized.
NOTE: Variable SIZE_PBCT is uninitialized.
NOTE: Variable PRICE_PBCT is uninitialized.
NOTE: Variable SIZE_PBI is uninitialized.
NOTE: Variable PRICE_PBI is uninitialized.
NOTE: Variable SIZE_PCAR is uninitialized.
NOTE: Variable PRICE_PCAR is uninitialized.
NOTE: Variable SIZE_PCG is uninitialized.
NOTE: Variable PRICE_PCG is uninitialized.
NOTE: Variable SIZE_PCL is uninitialized.
NOTE: Variable PRICE_PCL is uninitialized.
NOTE: Variable SIZE_PCLN is uninitialized.
NOTE: Variable PRICE_PCLN is uninitialized.
NOTE: Variable SIZE_PCP is uninitialized.
NOTE: Variable PRICE_PCP is uninitialized.
NOTE: Variable SIZE_PCS is uninitialized.
NOTE: Variable PRICE_PCS is uninitialized.
NOTE: Variable SIZE_PDCO is uninitialized.
NOTE: Variable PRICE_PDCO is uninitialized.
NOTE: Variable SIZE_PEG is uninitialized.
NOTE: Variable PRICE_PEG is uninitialized.
NOTE: Variable SIZE_PEP is uninitialized.
NOTE: Variable PRICE_PEP is uninitialized.
NOTE: Variable SIZE_PFE is uninitialized.
NOTE: Variable PRICE_PFE is uninitialized.
NOTE: Variable SIZE_PFG is uninitialized.
NOTE: Variable PRICE_PFG is uninitialized.
NOTE: Variable SIZE_PG is uninitialized.
NOTE: Variable PRICE_PG is uninitialized.
NOTE: Variable SIZE_PGR is uninitialized.
NOTE: Variable PRICE_PGR is uninitialized.
NOTE: Variable SIZE_PH is uninitialized.
NOTE: Variable PRICE_PH is uninitialized.
NOTE: Variable SIZE_PHM is uninitialized.
NOTE: Variable PRICE_PHM is uninitialized.
NOTE: Variable SIZE_PKI is uninitialized.
NOTE: Variable PRICE_PKI is uninitialized.
NOTE: Variable SIZE_PLD is uninitialized.
NOTE: Variable PRICE_PLD is uninitialized.
NOTE: Variable SIZE_PLL is uninitialized.
NOTE: Variable PRICE_PLL is uninitialized.
NOTE: Variable SIZE_PM is uninitialized.
NOTE: Variable PRICE_PM is uninitialized.
NOTE: Variable SIZE_PNC is uninitialized.
NOTE: Variable PRICE_PNC is uninitialized.
NOTE: Variable SIZE_PNW is uninitialized.
NOTE: Variable PRICE_PNW is uninitialized.
NOTE: Variable SIZE_POM is uninitialized.
NOTE: Variable PRICE_POM is uninitialized.
NOTE: Variable SIZE_PPG is uninitialized.
NOTE: Variable PRICE_PPG is uninitialized.
NOTE: Variable SIZE_PPL is uninitialized.
NOTE: Variable PRICE_PPL is uninitialized.
NOTE: Variable SIZE_PRU is uninitialized.
NOTE: Variable PRICE_PRU is uninitialized.
NOTE: Variable SIZE_PSA is uninitialized.
NOTE: Variable PRICE_PSA is uninitialized.
NOTE: Variable SIZE_PTV is uninitialized.
NOTE: Variable PRICE_PTV is uninitialized.
NOTE: Variable SIZE_PWR is uninitialized.
NOTE: Variable PRICE_PWR is uninitialized.
NOTE: Variable SIZE_PX is uninitialized.
NOTE: Variable PRICE_PX is uninitialized.
NOTE: Variable SIZE_PXD is uninitialized.
NOTE: Variable PRICE_PXD is uninitialized.
NOTE: Variable SIZE_Q is uninitialized.
NOTE: Variable PRICE_Q is uninitialized.
NOTE: Variable SIZE_QCOM is uninitialized.
NOTE: Variable PRICE_QCOM is uninitialized.
NOTE: Variable SIZE_QLGC is uninitialized.
NOTE: Variable PRICE_QLGC is uninitialized.
NOTE: Variable SIZE_R is uninitialized.
NOTE: Variable PRICE_R is uninitialized.
NOTE: Variable SIZE_RAI is uninitialized.
NOTE: Variable PRICE_RAI is uninitialized.
NOTE: Variable SIZE_RDC is uninitialized.
NOTE: Variable PRICE_RDC is uninitialized.
NOTE: Variable SIZE_RF is uninitialized.
NOTE: Variable PRICE_RF is uninitialized.
NOTE: Variable SIZE_RHI is uninitialized.
NOTE: Variable PRICE_RHI is uninitialized.
NOTE: Variable SIZE_RHT is uninitialized.
NOTE: Variable PRICE_RHT is uninitialized.
NOTE: Variable SIZE_RL is uninitialized.
NOTE: Variable PRICE_RL is uninitialized.
NOTE: Variable SIZE_ROK is uninitialized.
NOTE: Variable PRICE_ROK is uninitialized.
NOTE: Variable SIZE_ROP is uninitialized.
NOTE: Variable PRICE_ROP is uninitialized.
NOTE: Variable SIZE_ROST is uninitialized.
NOTE: Variable PRICE_ROST is uninitialized.
NOTE: Variable SIZE_RRC is uninitialized.
NOTE: Variable PRICE_RRC is uninitialized.
NOTE: Variable SIZE_RRD is uninitialized.
NOTE: Variable PRICE_RRD is uninitialized.
NOTE: Variable SIZE_RSG is uninitialized.
NOTE: Variable PRICE_RSG is uninitialized.
NOTE: Variable SIZE_RTN is uninitialized.
NOTE: Variable PRICE_RTN is uninitialized.
NOTE: Variable SIZE_S is uninitialized.
NOTE: Variable PRICE_S is uninitialized.
NOTE: Variable SIZE_SBUX is uninitialized.
NOTE: Variable PRICE_SBUX is uninitialized.
NOTE: Variable SIZE_SCG is uninitialized.
NOTE: Variable PRICE_SCG is uninitialized.
NOTE: Variable SIZE_SCHW is uninitialized.
NOTE: Variable PRICE_SCHW is uninitialized.
NOTE: Variable SIZE_SE is uninitialized.
NOTE: Variable PRICE_SE is uninitialized.
NOTE: Variable SIZE_SEE is uninitialized.
NOTE: Variable PRICE_SEE is uninitialized.
NOTE: Variable SIZE_SHLD is uninitialized.
NOTE: Variable PRICE_SHLD is uninitialized.
NOTE: Variable SIZE_SHW is uninitialized.
NOTE: Variable PRICE_SHW is uninitialized.
NOTE: Variable SIZE_SIAL is uninitialized.
NOTE: Variable PRICE_SIAL is uninitialized.
NOTE: Variable SIZE_SII is uninitialized.
NOTE: Variable PRICE_SII is uninitialized.
NOTE: Variable SIZE_SJM is uninitialized.
NOTE: Variable PRICE_SJM is uninitialized.
NOTE: Variable SIZE_SLB is uninitialized.
NOTE: Variable PRICE_SLB is uninitialized.
NOTE: Variable SIZE_SNA is uninitialized.
NOTE: Variable PRICE_SNA is uninitialized.
NOTE: Variable SIZE_SNDK is uninitialized.
NOTE: Variable PRICE_SNDK is uninitialized.
NOTE: Variable SIZE_SNI is uninitialized.
NOTE: Variable PRICE_SNI is uninitialized.
NOTE: Variable SIZE_SO is uninitialized.
NOTE: Variable PRICE_SO is uninitialized.
NOTE: Variable SIZE_SPG is uninitialized.
NOTE: Variable PRICE_SPG is uninitialized.
NOTE: Variable SIZE_SRCL is uninitialized.
NOTE: Variable PRICE_SRCL is uninitialized.
NOTE: Variable SIZE_SRE is uninitialized.
NOTE: Variable PRICE_SRE is uninitialized.
NOTE: Variable SIZE_STI is uninitialized.
NOTE: Variable PRICE_STI is uninitialized.
NOTE: Variable SIZE_STJ is uninitialized.
NOTE: Variable PRICE_STJ is uninitialized.
NOTE: Variable SIZE_STR is uninitialized.
NOTE: Variable PRICE_STR is uninitialized.
NOTE: Variable SIZE_STT is uninitialized.
NOTE: Variable PRICE_STT is uninitialized.
NOTE: Variable SIZE_STZ is uninitialized.
NOTE: Variable PRICE_STZ is uninitialized.
NOTE: Variable SIZE_SUN is uninitialized.
NOTE: Variable PRICE_SUN is uninitialized.
NOTE: Variable SIZE_SVU is uninitialized.
NOTE: Variable PRICE_SVU is uninitialized.
NOTE: Variable SIZE_SWK is uninitialized.
NOTE: Variable PRICE_SWK is uninitialized.
NOTE: Variable SIZE_SWN is uninitialized.
NOTE: Variable PRICE_SWN is uninitialized.
NOTE: Variable SIZE_SWY is uninitialized.
NOTE: Variable PRICE_SWY is uninitialized.
NOTE: Variable SIZE_SYK is uninitialized.
NOTE: Variable PRICE_SYK is uninitialized.
NOTE: Variable SIZE_SYMC is uninitialized.
NOTE: Variable PRICE_SYMC is uninitialized.
NOTE: Variable SIZE_SYY is uninitialized.
NOTE: Variable PRICE_SYY is uninitialized.
NOTE: Variable SIZE_T is uninitialized.
NOTE: Variable PRICE_T is uninitialized.
NOTE: Variable SIZE_TAP is uninitialized.
NOTE: Variable PRICE_TAP is uninitialized.
NOTE: Variable SIZE_TDC is uninitialized.
NOTE: Variable PRICE_TDC is uninitialized.
NOTE: Variable SIZE_TE is uninitialized.
NOTE: Variable PRICE_TE is uninitialized.
NOTE: Variable SIZE_TER is uninitialized.
NOTE: Variable PRICE_TER is uninitialized.
NOTE: Variable SIZE_TGT is uninitialized.
NOTE: Variable PRICE_TGT is uninitialized.
NOTE: Variable SIZE_THC is uninitialized.
NOTE: Variable PRICE_THC is uninitialized.
NOTE: Variable SIZE_TIE is uninitialized.
NOTE: Variable PRICE_TIE is uninitialized.
NOTE: Variable SIZE_TIF is uninitialized.
NOTE: Variable PRICE_TIF is uninitialized.
NOTE: Variable SIZE_TJX is uninitialized.
NOTE: Variable PRICE_TJX is uninitialized.
NOTE: Variable SIZE_TLAB is uninitialized.
NOTE: Variable PRICE_TLAB is uninitialized.
NOTE: Variable SIZE_TMK is uninitialized.
NOTE: Variable PRICE_TMK is uninitialized.
NOTE: Variable SIZE_TMO is uninitialized.
NOTE: Variable PRICE_TMO is uninitialized.
NOTE: Variable SIZE_TROW is uninitialized.
NOTE: Variable PRICE_TROW is uninitialized.
NOTE: Variable SIZE_TRV is uninitialized.
NOTE: Variable PRICE_TRV is uninitialized.
NOTE: Variable SIZE_TSN is uninitialized.
NOTE: Variable PRICE_TSN is uninitialized.
NOTE: Variable SIZE_TSO is uninitialized.
NOTE: Variable PRICE_TSO is uninitialized.
NOTE: Variable SIZE_TSS is uninitialized.
NOTE: Variable PRICE_TSS is uninitialized.
NOTE: Variable SIZE_TWC is uninitialized.
NOTE: Variable PRICE_TWC is uninitialized.
NOTE: Variable SIZE_TWX is uninitialized.
NOTE: Variable PRICE_TWX is uninitialized.
NOTE: Variable SIZE_TXN is uninitialized.
NOTE: Variable PRICE_TXN is uninitialized.
NOTE: Variable SIZE_TXT is uninitialized.
NOTE: Variable PRICE_TXT is uninitialized.
NOTE: Variable SIZE_UNH is uninitialized.
NOTE: Variable PRICE_UNH is uninitialized.
NOTE: Variable SIZE_UNM is uninitialized.
NOTE: Variable PRICE_UNM is uninitialized.
NOTE: Variable SIZE_UNP is uninitialized.
NOTE: Variable PRICE_UNP is uninitialized.
NOTE: Variable SIZE_UPS is uninitialized.
NOTE: Variable PRICE_UPS is uninitialized.
NOTE: Variable SIZE_URBN is uninitialized.
NOTE: Variable PRICE_URBN is uninitialized.
NOTE: Variable SIZE_USB is uninitialized.
NOTE: Variable PRICE_USB is uninitialized.
NOTE: Variable SIZE_UTX is uninitialized.
NOTE: Variable PRICE_UTX is uninitialized.
NOTE: Variable SIZE_V is uninitialized.
NOTE: Variable PRICE_V is uninitialized.
NOTE: Variable SIZE_VAR is uninitialized.
NOTE: Variable PRICE_VAR is uninitialized.
NOTE: Variable SIZE_VFC is uninitialized.
NOTE: Variable PRICE_VFC is uninitialized.
NOTE: Variable SIZE_VLO is uninitialized.
NOTE: Variable PRICE_VLO is uninitialized.
NOTE: Variable SIZE_VMC is uninitialized.
NOTE: Variable PRICE_VMC is uninitialized.
NOTE: Variable SIZE_VNO is uninitialized.
NOTE: Variable PRICE_VNO is uninitialized.
NOTE: Variable SIZE_VRSN is uninitialized.
NOTE: Variable PRICE_VRSN is uninitialized.
NOTE: Variable SIZE_VTR is uninitialized.
NOTE: Variable PRICE_VTR is uninitialized.
NOTE: Variable SIZE_VZ is uninitialized.
NOTE: Variable PRICE_VZ is uninitialized.
NOTE: Variable SIZE_WAT is uninitialized.
NOTE: Variable PRICE_WAT is uninitialized.
NOTE: Variable SIZE_WDC is uninitialized.
NOTE: Variable PRICE_WDC is uninitialized.
NOTE: Variable SIZE_WEC is uninitialized.
NOTE: Variable PRICE_WEC is uninitialized.
NOTE: Variable SIZE_WFC is uninitialized.
NOTE: Variable PRICE_WFC is uninitialized.
NOTE: Variable SIZE_WHR is uninitialized.
NOTE: Variable PRICE_WHR is uninitialized.
NOTE: Variable SIZE_WIN is uninitialized.
NOTE: Variable PRICE_WIN is uninitialized.
NOTE: Variable SIZE_WM is uninitialized.
NOTE: Variable PRICE_WM is uninitialized.
NOTE: Variable SIZE_WMB is uninitialized.
NOTE: Variable PRICE_WMB is uninitialized.
NOTE: Variable SIZE_WMT is uninitialized.
NOTE: Variable PRICE_WMT is uninitialized.
NOTE: Variable SIZE_WU is uninitialized.
NOTE: Variable PRICE_WU is uninitialized.
NOTE: Variable SIZE_WY is uninitialized.
NOTE: Variable PRICE_WY is uninitialized.
NOTE: Variable SIZE_WYN is uninitialized.
NOTE: Variable PRICE_WYN is uninitialized.
NOTE: Variable SIZE_WYNN is uninitialized.
NOTE: Variable PRICE_WYNN is uninitialized.
NOTE: Variable SIZE_X is uninitialized.
NOTE: Variable PRICE_X is uninitialized.
NOTE: Variable SIZE_XEL is uninitialized.
NOTE: Variable PRICE_XEL is uninitialized.
NOTE: Variable SIZE_XL is uninitialized.
NOTE: Variable PRICE_XL is uninitialized.
NOTE: Variable SIZE_XLNX is uninitialized.
NOTE: Variable PRICE_XLNX is uninitialized.
NOTE: Variable SIZE_XOM is uninitialized.
NOTE: Variable PRICE_XOM is uninitialized.
NOTE: Variable SIZE_XRAY is uninitialized.
NOTE: Variable PRICE_XRAY is uninitialized.
NOTE: Variable SIZE_XRX is uninitialized.
NOTE: Variable PRICE_XRX is uninitialized.
NOTE: Variable SIZE_XTO is uninitialized.
NOTE: Variable PRICE_XTO is uninitialized.
NOTE: Variable SIZE_Y is uninitialized.
NOTE: Variable PRICE_Y is uninitialized.
NOTE: Variable SIZE_YHOO is uninitialized.
NOTE: Variable PRICE_YHOO is uninitialized.
NOTE: Variable SIZE_YUM is uninitialized.
NOTE: Variable PRICE_YUM is uninitialized.
NOTE: Variable SIZE_ZION is uninitialized.
NOTE: Variable PRICE_ZION is uninitialized.
NOTE: There were 0 observations read from the data set WORK.WANT.
NOTE: The data set WORK.WANT has 0 observations and 0 variables.
NOTE: DATA statement used (Total process time):
real time 1.35 seconds
cpu time 1.26 seconds


NOTE: Deleting WORK.T_E_M_P (memtype=DATA).
NOTE: Deleting WORK._FOR_FORMAT (memtype=DATA).
NOTE: PROCEDURE DELETE used (Total process time):
real time 0.00 seconds
cpu time 0.00 seconds






View solution in original post


All Replies
Esteemed Advisor
Posts: 7,050

Re: Transposed data

Can you attach an example showing how you want the resulting file to look?

 

Art, CEO, AnalystFinder.com

Occasional Contributor kbl
Occasional Contributor
Posts: 19

Re: Transposed data

TimeAAAAAPLother stocks…
  priceprice   
  price    
      
      
      
      
      
      
      
      
      
      
      
      
      
      

Art,

 

Thanks for your reply.  The main shift I want is that I want each company' sym_Root  to be a separate column.  Time remains the first column.  Then column two will be the first company that trades at a given time with the price it traded at for that time.  The next column will be the second company and its trading price (if it traded at that time), etc.

Respected Advisor
Posts: 4,753

Re: Transposed data

What you're asking for is a report.  The data should remain in vertical form.  A report might display the data in horizontal form, if that is useful to you.  It becomes a question of whether it is worth it to you to learn some programming skills, to be able to produce the report that you want.

Occasional Contributor kbl
Occasional Contributor
Posts: 19

Re: Transposed data

Good afternoon,

 

I have programmed before, although it's been a couple of years since i used SAS. 

 

I need the tickers (SYM_ROOT) to be in a separate column for each stock with the price at which it is trading for a given time listed under the company ticker.  As a result, I don't think it is sufficient to create a report; I think I need to transpose the data.  Does that sound right?

Esteemed Advisor
Posts: 7,050

Re: Transposed data

What you want to do is easy with proc transpose, but you have some duplicate entries for some companies at the same times. As long as the duplicates are irrelevant, you can get what you want with:

proc sort data=have nodupkey;
  by time_m sym_root;
run;

proc transpose data=have out=want (drop=_:);
  by time_m;
  id sym_root;
  var price;
run;

Art, CEO, AnalystFinder.com

Occasional Contributor kbl
Occasional Contributor
Posts: 19

Re: Transposed data

Thanks so much Art!  This is exceptionally helpful.  Can I trouble you for one more?  I was going to do some other calculations in Excel, but I think it will be easier to use SAS for everything.

 

What changes do I need to make to the program if I want everything that you just sent, plus I want to keep the volume data by company.  So, after I have a column for each company's price data, I have a set of columns for each company's volume data?  I think there is not a duplicate issue; each time listed represents the last trade that minute for each company's stock, and we only need to sort to the minute (the first four digits), not to the second (the final digit in the time variable) .  The data can look something like this:

 

Time (end of each minute)AStock2Stock 3Stock 4Stock 5Stock 500 AStock2Stock 3Stock 4Stock 5
30:4636.5       100     
31:5836.445  The last trade price for each stock each minute here    100  The corresponding trading volume  
32:2236.51       100   for each stock  for each minute here  
33:5536.55  We  have 500 stocks  in the index    200     
34:3636.575  and we  need end-of-minute price data here for only 5 days    100     
35:5736.57  so it should not be too large of a data file    100     
36:5036.75       100     
37:5836.77       100     
38:4336.76       100     
Esteemed Advisor
Posts: 7,050

Re: Transposed data

You can do it with a couple of proc transposes, but I always find the following macro easier to make a wide file (2 or more variable) wider: http://www.sascommunity.org/wiki/A_Better_Way_to_Flip_(Transpose)_a_SAS_Dataset

 

If you download and run that macro, here is all you then have to submit to get what you want:

proc sort data=have out=need nodupkey;
  by time_m sym_root;
run;

%transpose(data=need, out=want, by=time_m, id=sym_root,
delimiter=_,var=price size)

Art, CEO, AnalystFinder.com

 

Occasional Contributor kbl
Occasional Contributor
Posts: 19

Re: Transposed data

Art,

 

Thanks for your help, and my apologies for the delayed response.  It took me awhile to get my data to read into the program.  That's done now, but I'm not following your comment about running the macro first and then add this code.  I went through the paper and the PowerPoint, but can you help with my next step?  Here is the program:

 

Filename three 'G:\threeone.dat';
                 data have;
                 infile  three expandtabs;
                 input TIME_M $ SYM_ROOT $ SIZE PRICE TIME2;
                 
                * out= need;
                 
                 
proc sort data=have out=need nodupkey;
  by time_m sym_root;
  prefix=,
                 var=,
                 autovars=,
                 id=,
                 descendingid=,
                 var_first=,
                 format=,
                 delimiter=,
                 copy=,
                 drop=,
                 sort=,
                 sort_options=,
                 use_varname=,
                 preloadfmt=,
                 guessingrows=,
                 newid=);
run;

%transpose(data=need, out=want, by=time_m, id=sym_root,
delimiter=_,var=price size)
run;

Thanks a lot.

Esteemed Advisor
Posts: 7,050

Re: Transposed data

There was a link to the code on that page. The direct link to the code is: http://www.sascommunity.org/mwiki/images/b/be/BB-07-2013.sas

 

Copy and paste that code into whatever you use to submit SAS code. After the last line of the macro's code, paste the following lines :

Filename three 'G:\threeone.dat';
data have;
 infile  three expandtabs;
 input TIME_M $ SYM_ROOT $ SIZE PRICE TIME2;
run;

proc sort data=have out=need nodupkey; by time_m sym_root; run; %transpose(data=need, out=want, by=time_m, id=sym_root, delimiter=_,var=price size)

Then click the run icon.

 

Art, CEO, AnalystFinder.com

 

 

Occasional Contributor kbl
Occasional Contributor
Posts: 19

Re: Transposed data

Art,

 

Is all of this code included?  I ran this program, and did not get any errors, but I also did not get any output:

 

%macro transpose(libname_in=,
                 libname_out=,
                 data=,
                 out=,
                 by=,
                 prefix=,
                 var=,
                 autovars=,
                 id=,
                 descendingid=,
                 var_first=,
                 format=,
                 delimiter=,
                 copy=,
                 drop=,
                 sort=,
                 sort_options=,
                 use_varname=,
                 preloadfmt=,
                 guessingrows=,
                 newid=);

/*Check whether the data and out parameters contain one or two-level filenames*/
  %let lp=%sysfunc(findc(%superq(data),%str(%()));
  %if &lp. %then %do;
    %let rp=%sysfunc(findc(%superq(data),%str(%)),b));
    %let dsoptions=%qsysfunc(substrn(%nrstr(%superq(data)),&lp+1,&rp-&lp-1));
    %let data=%sysfunc(substrn(%nrstr(%superq(data)),1,%eval(&lp-1)));
  %end;
  %else %let dsoptions=;
  %if %sysfunc(countw(&data.)) eq 2 %then %do;
    %let libname_in=%scan(&data.,1);
    %let data=%scan(&data.,2);
  %end;
  %else %if %length(&libname_in.) eq 0 %then %do;
    %let libname_in=work;
  %end;

  %if %sysfunc(countw(&out.)) eq 2 %then %do;
    %let libname_out=%scan(&out.,1);
    %let out=%scan(&out.,2);
  %end;
  %else %if %length(&libname_out.) eq 0 %then %do;
    %let libname_out=work;
  %end;

  %if %length(&newid.) eq 0 %then %do;
    %let newid=row;
  %end;

  /*obtain last by variable*/
  %if %length(&by.) gt 0 %then %do;
    %let lastby=%scan(&by.,-1);
  %end;
  %else %do;
    %let lastby=;
  %end;

/*Create macro variable to contain a list of variables to be copied*/
 %let to_copy=;
  %if %length(&copy.) gt 0 %then %do;
    data t_e_m_p;
      set &libname_in..&data. (obs=1 keep=&copy.);
    run;

    proc sql noprint;
      select name
        into :to_copy separated by " "
          from dictionary.columns
            where libname="WORK" and
                  memname="T_E_M_P"
        ;
      quit;
  %end;

/*Populate var parameter in the event it has a null value*/
  %if %length(&var.) eq 0 %then %do;
    data t_e_m_p;
      set &libname_in..&data. (obs=1 drop=&by. &id. &copy.);
    run;

    proc sql noprint;
      select name
        into :var separated by " "
          from dictionary.columns
            where libname="WORK" and
                  memname="T_E_M_P"
        %if %sysfunc(upcase("&autovars.")) eq "CHAR" %then %do;
                  and type="char"
        %end;
        %else %if %sysfunc(upcase("&autovars.")) ne "ALL" %then %do;
                  and type="num"
        %end;
        ;
      quit;
  %end;
 
/*Initialize macro variables*/
  %let vars_char=;
  %let varlist_char=;
  %let vars_num=;
  %let varlist_num=;
  %let formats_char=;
  %let format_char=;
  %let formats_num=;
  %let format_num=;

/*Create file t_e_m_p to contain one record with all var variables*/
  data t_e_m_p;
    set &libname_in..&data. (obs=1 keep=&var.);
  run;

/*Create macro variables containing untransposed var names and formats*/
  proc sql noprint;
    select name, case
                   when missing(format) then " $"||strip(put(length,5.))||'.'
                   else strip(format)
                 end
      into :vars_char separated by " ",
           :formats_char separated by "~"
        from dictionary.columns
          where libname="WORK" and
                memname="T_E_M_P" and
                type="char"
    ;
    select name, case
                   when missing(format) then "best12."
                   else strip(format)
                 end
      into :vars_num separated by " ",
           :formats_num separated by "~"
        from dictionary.columns
          where libname="WORK" and
                memname="T_E_M_P" and
                type="num"
    ;
    select name
      into :vars_all separated by " "
        from dictionary.columns
          where libname="WORK" and
                memname="T_E_M_P"
    ;
  quit;

/*If sort parameter has a value of YES, create a sorted temporary data file*/
  %if %sysfunc(upcase("&sort.")) eq "YES" %then %do;
    %let notsorted=;
    proc sort data=&libname_in..&data.
                (
                 keep=&by. &id. &vars_char. &vars_num. &to_copy.
                 &dsoptions.
                )
                 out=t_e_m_p &sort_options. noequals;
      by &by.;
    run;
    %let data=t_e_m_p;
    %let libname_in=work;
  %end;
  %else %do;
    %let notsorted=notsorted;
  %end;

  /*if no id parameter is present, create one from &newid.*/
  %if %length(&id.) eq 0 %then %do;
    data t_e_m_p;
      set &libname_in..&data.;
      by &by.;
      if first.&lastby then &newid.=1;
      else &newid+1;
    run;
    %let id=&newid.;
    %let data=t_e_m_p;
    %let libname_in=work;
  %end;

/*Ensure guessingrows parameter contains a value*/
  %if %length(&guessingrows.) eq 0 %then %do;
    %let guessingrows=%sysfunc(constant(EXACTINT));
  %end;

/*Ensure a format is assigned to an id variable*/
  %if %length(&id.) gt 0 %then %do;
    proc sql noprint;
      select type,length,%sysfunc(strip(format))
        into :tr_macro_type, :tr_macro_len, :tr_macro_format
          from dictionary.columns
            where libname="%sysfunc(upcase(&libname_in.))" and
                  memname="%sysfunc(upcase(&data.))" and
                  upcase(name)="%sysfunc(upcase(&id.))"
        ;
    quit;

    %if %length(&format.) eq 0 %then %do;
      %let optsave=%sysfunc(getoption(missing),$quote.);
      options missing=.;
      %if %length(&tr_macro_format.) gt 0 %then %do;
        %let format=&tr_macro_format.;
      %end;
      %else %if "&tr_macro_type." eq "num " %then %do;
        %let format=%sysfunc(catt(best,&tr_macro_len.,%str(.)));
      %end;
      %else %do;
        %let format=%sysfunc(catt($,&tr_macro_len.,%str(.)));
      %end;
      options missing=&optsave;
    %end;
  %end;

/*Create macro variables containing ordered lists of the requested transposed variable
  names for character (varlist_char) and numeric (varlist_num) var variables */
  %if %length(&preloadfmt.) gt 0 %then %do;
    %if %sysfunc(countw(&preloadfmt.)) eq 1 %then %do;
      %let preloadfmt=&libname_in..&preloadfmt.;
    %end;
  %end;
  %else %do;
    %if %sysfunc(upcase("&sort.")) eq "YES" %then
     %let dsoptions=;
    proc freq data=&libname_in..&data. (obs=&guessingrows. keep=&id. &dsoptions.)
       noprint;
      tables &id./out=_for_format (keep=&id.);
    run;
    %if %sysfunc(upcase("&descendingid.")) eq "YES" %then %do;
      proc sort data=_for_format;
        by descending &id;
      run;
    %end;
    data _for_format;
      set _for_format;
      order=_n_;
    run;
  %end;

 proc sql noprint;
  %do i=1 %to 2;
    %if &i. eq 1 %then %let i_type=char;
    %else %let i_type=num;
    %if %length(&&vars_&i_type.) gt 0 %then %do;
    select distinct
      %do j=1 %to 2;
        %if &j. eq 1 %then %let j_type=;
        %else %let j_type=format;
        %do k=1 %to %sysfunc(countw(&&vars_&i_type.));
         "&j_type. "||cats("&prefix.",
          %if %sysfunc(upcase("&var_first.")) eq "NO" %then %do;
            put(&id.,&format),"&delimiter."
            %if %sysfunc(upcase("&use_varname.")) ne "NO" %then
            ,scan("&&vars_&i_type.",&k.);
          %end;
          %else %do;
            %if %sysfunc(upcase("&use_varname.")) ne "NO" %then
               scan("&&vars_&i_type.",&k.),;
            "&delimiter.",put(&id.,&format)
          %end;
          )
          %if &j. eq 2 %then
            ||" "||cats(scan("&&formats_&i_type.",&k.,"~"),";");
          %if &k. lt %sysfunc(countw(&&vars_&i_type.)) %then ||;
          %else ,;
        %end;
      %end;
      %if "&tr_macro_type." eq "num " %then &id. format=best12.;
        %else &id.;
        ,order
          into :varlist_&i_type. separated by " ",
               :format_&i_type. separated by " ",
               :idlist separated by " ",
               :idorder separated by " "
           %if %length(&preloadfmt.) gt 0 %then from &preloadfmt.;
           %else from _for_format;
               order by order
    ;
      %let num_numlabels=&sqlobs.;
    %end;
  %end;
  quit;

  proc sql noprint;
    select distinct
        %let j_type=;
        %do k=1 %to %sysfunc(countw(&&vars_all.));
      "&j_type. "||cats("&prefix.",
      
          %if %sysfunc(upcase("&var_first.")) eq "NO" %then %do;
          put(&id.,&format),"&delimiter.",
            %if %sysfunc(upcase("&use_varname.")) ne "NO" %then
          scan("&&vars_all.",&k.);
          )
          %end;
          %else %do;
            %if %sysfunc(upcase("&use_varname.")) ne "NO" %then
          scan("&&vars_all.",&k.),;
          "&delimiter.",put(&id.,&format))
          %end;
          %if &k. lt %sysfunc(countw(&&vars_all.)) %then ||;
          %else ,;
        %end;
        order
          into :varlist_all separated by " ",
               :idorder separated by " "
           %if %length(&preloadfmt.) gt 0 %then from &preloadfmt.;
           %else from _for_format;
               order by order
    ;
  quit;

/*Create a format that will be used to assign values to the transposed variables*/
  data _for_format;
    %if %length(&preloadfmt.) gt 0 %then set &preloadfmt. (rename=(&id.=start));
    %else set _for_format  (rename=(&id.=start));
    ;
    %if "&tr_macro_type." eq "num " %then retain fmtname "labelfmt" type "N";
    %else retain fmtname "$labelfmt" type "C";
    ;
    label=
     %if %length(&preloadfmt.) eq 0 %then _n_-1;
     %else order-1;
     ;
  run;

  proc format cntlin = _for_format;
  run ;

/*Create and run the datastep that does the transposition*/
  data &libname_out..&out.;
    set &libname_in..&data. (keep=&by. &id.
      %do i=1 %to %sysfunc(countw("&vars_char."));
        %scan(&vars_char.,&i.)
      %end;
      %do i=1 %to %sysfunc(countw("&vars_num."));
        %scan(&vars_num.,&i.)
      %end;
      %do i=1 %to %sysfunc(countw("&to_copy."));
        %scan(&to_copy.,&i.)
      %end;
      &dsoptions.
      );
    by &by. &notsorted.;
    &format_char. &format_num.
  %if %length(&vars_char.) gt 0 %then %do;
    array want_char(*) $
    %do i=1 %to %eval(&num_numlabels.*%sysfunc(countw("&vars_char.")));
      %scan(&varlist_char.,&i.)
    %end;
    ;
    array have_char(*) $ &vars_char.;
    retain want_char;
    if first.&lastby. then call missing(of want_char(*));
    ___nchar=put(&id.,labelfmt.)*dim(have_char);
    do ___i=1 to dim(have_char);
      want_char(___nchar+___i)=have_char(___i);
    end;
  %end;
  %if %length(&vars_num.) gt 0 %then %do;
    array want_num(*)
    %do i=1 %to %eval(&num_numlabels.*%sysfunc(countw("&vars_num.")));
      %scan(&varlist_num.,&i.)
    %end;
    ;
    array have_num(*) &vars_num.;
    retain want_num;
    if first.&lastby. then call missing(of want_num(*));
    ___nnum=put(&id.,labelfmt.)*dim(have_num);
    do ___i=1 to dim(have_num);
      want_num(___nnum+___i)=have_num(___i);
    end;
  %end;
    drop &id. ___: &var. &drop.;
    if last.&lastby. then output;
  run;

  data &libname_out..&out.;
    retain &by. &to_copy. &varlist_all.;
    set &libname_out..&out.;
  run;

/*Delete all temporary files*/
  proc delete data=work.t_e_m_p work._for_format;
  run;

%mend transpose;
options NOQUOTELENMAX;
proc sort data=have out=need nodupkey;
  by time_m sym_root;
run;

%transpose(data=need, out=want, by=time_m, id=sym_root,
delimiter=_,var=price size)

Esteemed Advisor
Posts: 7,050

Re: Transposed data

Post your log. If the file HAVE was in your work directory, the file WANT should have been created in your work directory.

 

Art, CEO, AnalystFinder.com

Occasional Contributor kbl
Occasional Contributor
Posts: 19

Re: Transposed data

Thanks a lot Art; this is the log:

 

972  %macro transpose(libname_in=,
973                   libname_out=,
974                   data=,
975                   out=,
976                   by=,
977                   prefix=,
978                   var=,
979                   autovars=,
980                   id=,
981                   descendingid=,
982                   var_first=,
983                   format=,
984                   delimiter=,
985                   copy=,
986                   drop=,
987                   sort=,
988                   sort_options=,
989                   use_varname=,
990                   preloadfmt=,
991                   guessingrows=,
992                   newid=);
993
994  /*Check whether the data and out parameters contain one or two-level filenames*/
995    %let lp=%sysfunc(findc(%superq(data),%str(%()));
996    %if &lp. %then %do;
997      %let rp=%sysfunc(findc(%superq(data),%str(%)),b));
998      %let dsoptions=%qsysfunc(substrn(%nrstr(%superq(data)),&lp+1,&rp-&lp-1));
999      %let data=%sysfunc(substrn(%nrstr(%superq(data)),1,%eval(&lp-1)));
1000    %end;
1001    %else %let dsoptions=;
1002    %if %sysfunc(countw(&data.)) eq 2 %then %do;
1003      %let libname_in=%scan(&data.,1);
1004      %let data=%scan(&data.,2);
1005    %end;
1006    %else %if %length(&libname_in.) eq 0 %then %do;
1007      %let libname_in=work;
1008    %end;
1009
1010    %if %sysfunc(countw(&out.)) eq 2 %then %do;
1011      %let libname_out=%scan(&out.,1);
1012      %let out=%scan(&out.,2);
1013    %end;
1014    %else %if %length(&libname_out.) eq 0 %then %do;
1015      %let libname_out=work;
1016    %end;
1017
1018    %if %length(&newid.) eq 0 %then %do;
1019      %let newid=row;
1020    %end;
1021
1022    /*obtain last by variable*/
1023    %if %length(&by.) gt 0 %then %do;
1024      %let lastby=%scan(&by.,-1);
1025    %end;
1026    %else %do;
1027      %let lastby=;
1028    %end;
1029
1030  /*Create macro variable to contain a list of variables to be copied*/
1031   %let to_copy=;
1032    %if %length(&copy.) gt 0 %then %do;
1033      data t_e_m_p;
1034        set &libname_in..&data. (obs=1 keep=&copy.);
1035      run;
1036
1037      proc sql noprint;
1038        select name
1039          into :to_copy separated by " "
1040            from dictionary.columns
1041              where libname="WORK" and
1042                    memname="T_E_M_P"
1043          ;
1044        quit;
1045    %end;
1046
1047  /*Populate var parameter in the event it has a null value*/
1048    %if %length(&var.) eq 0 %then %do;
1049      data t_e_m_p;
1050        set &libname_in..&data. (obs=1 drop=&by. &id. &copy.);
1051      run;
1052
1053      proc sql noprint;
1054        select name
1055          into :var separated by " "
1056            from dictionary.columns
1057              where libname="WORK" and
1058                    memname="T_E_M_P"
1059          %if %sysfunc(upcase("&autovars.")) eq "CHAR" %then %do;
1060                    and type="char"
1061          %end;
1062          %else %if %sysfunc(upcase("&autovars.")) ne "ALL" %then %do;
1063                    and type="num"
1064          %end;
1065          ;
1066        quit;
1067    %end;
1068
1069  /*Initialize macro variables*/
1070    %let vars_char=;
1071    %let varlist_char=;
1072    %let vars_num=;
1073    %let varlist_num=;
1074    %let formats_char=;
1075    %let format_char=;
1076    %let formats_num=;
1077    %let format_num=;
1078
1079  /*Create file t_e_m_p to contain one record with all var variables*/
1080    data t_e_m_p;
1081      set &libname_in..&data. (obs=1 keep=&var.);
1082    run;
1083
1084  /*Create macro variables containing untransposed var names and formats*/
1085    proc sql noprint;
1086      select name, case
1087                     when missing(format) then " $"||strip(put(length,5.))||'.'
1088                     else strip(format)
1089                   end
1090        into :vars_char separated by " ",
1091             :formats_char separated by "~"
1092          from dictionary.columns
1093            where libname="WORK" and
1094                  memname="T_E_M_P" and
1095                  type="char"
1096      ;
1097      select name, case
1098                     when missing(format) then "best12."
1099                     else strip(format)
1100                   end
1101        into :vars_num separated by " ",
1102             :formats_num separated by "~"
1103          from dictionary.columns
1104            where libname="WORK" and
1105                  memname="T_E_M_P" and
1106                  type="num"
1107      ;
1108      select name
1109        into :vars_all separated by " "
1110          from dictionary.columns
1111            where libname="WORK" and
1112                  memname="T_E_M_P"
1113      ;
1114    quit;
1115
1116  /*If sort parameter has a value of YES, create a sorted temporary data file*/
1117    %if %sysfunc(upcase("&sort.")) eq "YES" %then %do;
1118      %let notsorted=;
1119      proc sort data=&libname_in..&data.
1120                  (
1121                   keep=&by. &id. &vars_char. &vars_num. &to_copy.
1122                   &dsoptions.
1123                  )
1124                   out=t_e_m_p &sort_options. noequals;
1125        by &by.;
1126      run;
1127      %let data=t_e_m_p;
1128      %let libname_in=work;
1129    %end;
1130    %else %do;
1131      %let notsorted=notsorted;
1132    %end;
1133
1134    /*if no id parameter is present, create one from &newid.*/
1135    %if %length(&id.) eq 0 %then %do;
1136      data t_e_m_p;
1137        set &libname_in..&data.;
1138        by &by.;
1139        if first.&lastby then &newid.=1;
1140        else &newid+1;
1141      run;
1142      %let id=&newid.;
1143      %let data=t_e_m_p;
1144      %let libname_in=work;
1145    %end;
1146
1147  /*Ensure guessingrows parameter contains a value*/
1148    %if %length(&guessingrows.) eq 0 %then %do;
1149      %let guessingrows=%sysfunc(constant(EXACTINT));
1150    %end;
1151
1152  /*Ensure a format is assigned to an id variable*/
1153    %if %length(&id.) gt 0 %then %do;
1154      proc sql noprint;
1155        select type,length,%sysfunc(strip(format))
1156          into :tr_macro_type, :tr_macro_len, :tr_macro_format
1157            from dictionary.columns
1158              where libname="%sysfunc(upcase(&libname_in.))" and
1159                    memname="%sysfunc(upcase(&data.))" and
1160                    upcase(name)="%sysfunc(upcase(&id.))"
1161          ;
1162      quit;
1163
1164      %if %length(&format.) eq 0 %then %do;
1165        %let optsave=%sysfunc(getoption(missing),$quote.);
1166        options missing=.;
1167        %if %length(&tr_macro_format.) gt 0 %then %do;
1168          %let format=&tr_macro_format.;
1169        %end;
1170        %else %if "&tr_macro_type." eq "num " %then %do;
1171          %let format=%sysfunc(catt(best,&tr_macro_len.,%str(.)));
1172        %end;
1173        %else %do;
1174          %let format=%sysfunc(catt($,&tr_macro_len.,%str(.)));
1175        %end;
1176        options missing=&optsave;
1177      %end;
1178    %end;
1179
1180  /*Create macro variables containing ordered lists of the requested transposed variable
1181    names for character (varlist_char) and numeric (varlist_num) var variables */
1182    %if %length(&preloadfmt.) gt 0 %then %do;
1183      %if %sysfunc(countw(&preloadfmt.)) eq 1 %then %do;
1184        %let preloadfmt=&libname_in..&preloadfmt.;
1185      %end;
1186    %end;
1187    %else %do;
1188      %if %sysfunc(upcase("&sort.")) eq "YES" %then
1189       %let dsoptions=;
1190      proc freq data=&libname_in..&data. (obs=&guessingrows. keep=&id. &dsoptions.)
1191         noprint;
1192        tables &id./out=_for_format (keep=&id.);
1193      run;
1194      %if %sysfunc(upcase("&descendingid.")) eq "YES" %then %do;
1195        proc sort data=_for_format;
1196          by descending &id;
1197        run;
1198      %end;
1199      data _for_format;
1200        set _for_format;
1201        order=_n_;
1202      run;
1203    %end;
1204
1205   proc sql noprint;
1206    %do i=1 %to 2;
1207      %if &i. eq 1 %then %let i_type=char;
1208      %else %let i_type=num;
1209      %if %length(&&vars_&i_type.) gt 0 %then %do;
1210      select distinct
1211        %do j=1 %to 2;
1212          %if &j. eq 1 %then %let j_type=;
1213          %else %let j_type=format;
1214          %do k=1 %to %sysfunc(countw(&&vars_&i_type.));
1215           "&j_type. "||cats("&prefix.",
1216            %if %sysfunc(upcase("&var_first.")) eq "NO" %then %do;
1217              put(&id.,&format),"&delimiter."
1218              %if %sysfunc(upcase("&use_varname.")) ne "NO" %then
1219              ,scan("&&vars_&i_type.",&k.);
1220            %end;
1221            %else %do;
1222              %if %sysfunc(upcase("&use_varname.")) ne "NO" %then
1223                 scan("&&vars_&i_type.",&k.),;
1224              "&delimiter.",put(&id.,&format)
1225            %end;
1226            )
1227            %if &j. eq 2 %then
1228              ||" "||cats(scan("&&formats_&i_type.",&k.,"~"),";");
1229            %if &k. lt %sysfunc(countw(&&vars_&i_type.)) %then ||;
1230            %else ,;
1231          %end;
1232        %end;
1233        %if "&tr_macro_type." eq "num " %then &id. format=best12.;
1234          %else &id.;
1235          ,order
1236            into :varlist_&i_type. separated by " ",
1237                 :format_&i_type. separated by " ",
1238                 :idlist separated by " ",
1239                 :idorder separated by " "
1240             %if %length(&preloadfmt.) gt 0 %then from &preloadfmt.;
1241             %else from _for_format;
1242                 order by order
1243      ;
1244        %let num_numlabels=&sqlobs.;
1245      %end;
1246    %end;
1247    quit;
1248
1249    proc sql noprint;
1250      select distinct
1251          %let j_type=;
1252          %do k=1 %to %sysfunc(countw(&&vars_all.));
1253        "&j_type. "||cats("&prefix.",
1254
1255            %if %sysfunc(upcase("&var_first.")) eq "NO" %then %do;
1256            put(&id.,&format),"&delimiter.",
1257              %if %sysfunc(upcase("&use_varname.")) ne "NO" %then
1258            scan("&&vars_all.",&k.);
1259            )
1260            %end;
1261            %else %do;
1262              %if %sysfunc(upcase("&use_varname.")) ne "NO" %then
1263            scan("&&vars_all.",&k.),;
1264            "&delimiter.",put(&id.,&format))
1265            %end;
1266            %if &k. lt %sysfunc(countw(&&vars_all.)) %then ||;
1267            %else ,;
1268          %end;
1269          order
1270            into :varlist_all separated by " ",
1271                 :idorder separated by " "
1272             %if %length(&preloadfmt.) gt 0 %then from &preloadfmt.;
1273             %else from _for_format;
1274                 order by order
1275      ;
1276    quit;
1277
1278  /*Create a format that will be used to assign values to the transposed variables*/
1279    data _for_format;
1280      %if %length(&preloadfmt.) gt 0 %then set &preloadfmt. (rename=(&id.=start));
1281      %else set _for_format  (rename=(&id.=start));
1282      ;
1283      %if "&tr_macro_type." eq "num " %then retain fmtname "labelfmt" type "N";
1284      %else retain fmtname "$labelfmt" type "C";
1285      ;
1286      label=
1287       %if %length(&preloadfmt.) eq 0 %then _n_-1;
1288       %else order-1;
1289       ;
1290    run;
1291
1292    proc format cntlin = _for_format;
1293    run ;
1294
1295  /*Create and run the datastep that does the transposition*/
1296    data &libname_out..&out.;
1297      set &libname_in..&data. (keep=&by. &id.
1298        %do i=1 %to %sysfunc(countw("&vars_char."));
1299          %scan(&vars_char.,&i.)
1300        %end;
1301        %do i=1 %to %sysfunc(countw("&vars_num."));
1302          %scan(&vars_num.,&i.)
1303        %end;
1304        %do i=1 %to %sysfunc(countw("&to_copy."));
1305          %scan(&to_copy.,&i.)
1306        %end;
1307        &dsoptions.
1308        );
1309      by &by. &notsorted.;
1310      &format_char. &format_num.
1311    %if %length(&vars_char.) gt 0 %then %do;
1312      array want_char(*) $
1313      %do i=1 %to %eval(&num_numlabels.*%sysfunc(countw("&vars_char.")));
1314        %scan(&varlist_char.,&i.)
1315      %end;
1316      ;
1317      array have_char(*) $ &vars_char.;
1318      retain want_char;
1319      if first.&lastby. then call missing(of want_char(*));
1320      ___nchar=put(&id.,labelfmt.)*dim(have_char);
1321      do ___i=1 to dim(have_char);
1322        want_char(___nchar+___i)=have_char(___i);
1323      end;
1324    %end;
1325    %if %length(&vars_num.) gt 0 %then %do;
1326      array want_num(*)
1327      %do i=1 %to %eval(&num_numlabels.*%sysfunc(countw("&vars_num.")));
1328        %scan(&varlist_num.,&i.)
1329      %end;
1330      ;
1331      array have_num(*) &vars_num.;
1332      retain want_num;
1333      if first.&lastby. then call missing(of want_num(*));
1334      ___nnum=put(&id.,labelfmt.)*dim(have_num);
1335      do ___i=1 to dim(have_num);
1336        want_num(___nnum+___i)=have_num(___i);
1337      end;
1338    %end;
1339      drop &id. ___: &var. &drop.;
1340      if last.&lastby. then output;
1341    run;
1342
1343    data &libname_out..&out.;
1344      retain &by. &to_copy. &varlist_all.;
1345      set &libname_out..&out.;
1346    run;
1347
1348  /*Delete all temporary files*/
1349    proc delete data=work.t_e_m_p work._for_format;
1350    run;
1351
1352  %mend transpose;
1353  options NOQUOTELENMAX;
1354  proc sort data=have out=need nodupkey;
1355    by time_m sym_root;
1356  run;
1357
1358  %transpose(data=need, out=want, by=time_m, id=sym_root,
1359  delimiter=_,var=price size)

Esteemed Advisor
Posts: 7,050

Re: Transposed data

When your ran the code to first create the file have, did you check to see that it had actually run and created that file?

 

Honestly, I don't know what the problem might be! My guess is that something you ran prior to running the macro that caused SAS to stall. Close SAS and then restart it. Then run the same code as you ran before .. including first running your data step to create the file have.

 

Art, CEO, AnalystFinder.com

 

Occasional Contributor kbl
Occasional Contributor
Posts: 19

Re: Transposed data

Well, you were right.  Once I shut down and restarted SAS, the file ran further.  And you were also correct: there is an issue with the work file. This is the log error; how do I correct this?

 

381  %mend transpose;
382  options NOQUOTELENMAX;
383  proc sort data=have out=need nodupkey;
ERROR: File WORK.HAVE.DATA does not exist.
384    by time_m sym_root;
385  run;

NOTE: The SAS System stopped processing this step because of errors.
WARNING: The data set WORK.NEED may be incomplete.  When this step was stopped there were 0
         observations and 0 variables.
NOTE: PROCEDURE SORT used (Total process time):
      real time           0.06 seconds
      cpu time            0.03 seconds

386
387  %transpose(data=need, out=want, by=time_m, id=sym_root,
388  delimiter=_,var=price size)


ERROR: The variable price in the DROP, KEEP, or RENAME list has never been referenced.
ERROR: The variable size in the DROP, KEEP, or RENAME list has never been referenced.

NOTE: The SAS System stopped processing this step because of errors.
WARNING: The data set WORK.T_E_M_P may be incomplete.  When this step was stopped there were 0
         observations and 0 variables.
NOTE: DATA statement used (Total process time):
      real time           0.03 seconds
      cpu time            0.04 seconds


☑ This topic is SOLVED.

Need further help from the community? Please ask a new question.

Discussion stats
  • 26 replies
  • 233 views
  • 1 like
  • 3 in conversation