L'opzione nobs=
a un'istruzione set
può fornire il numero di osservazioni. Quando la fase di dati viene compilata, la porzione di intestazione dei set di dati di input viene scansionata, quindi non è nemmeno necessario eseguire l'istruzione set
per ottenere il numero di osservazioni. Per esempio, i seguenti rapporti 2 come previsto:
/* a test data set with two observations and no vars */
data two;
output;
output;
run;
data _null_;
if 0 then set two nobs=nobs;
put nobs=;
run;
/* on log
nobs=2
*/
L'opzione end=
imposta un flag quando l'ultima osservazione (per l'istruzione set
) viene letta in
Un SAS insieme di dati, tuttavia, può essere. un file di dati SAS o una vista SAS. Nel caso di quest'ultimo, il numero di osservazioni potrebbe non essere noto né al momento della compilazione né al momento dell'esecuzione.
data subclass/view=subclass;
set sashelp.class;
where sex = symget("sex");
run;
%let sex=F;
data girls;
set subclass end=end nobs=nobs;
put name= nobs= end=;
run;
/* on log
Name=Alice nobs=9.0071993E15 end=0
Name=Barbara nobs=9.0071993E15 end=0
Name=Carol nobs=9.0071993E15 end=0
Name=Jane nobs=9.0071993E15 end=0
Name=Janet nobs=9.0071993E15 end=0
Name=Joyce nobs=9.0071993E15 end=0
Name=Judy nobs=9.0071993E15 end=0
Name=Louise nobs=9.0071993E15 end=0
Name=Mary nobs=9.0071993E15 end=1
*/
fonte
2009-09-28 17:11:45
Grazie per la moltitudine di opzioni qui, ho finito per andare con l'opzione FINE per ora. Bello vedere una varietà di modi per farlo :) – chucknelson