Anzahl Spalten ermitteln

Werbung
News
Artikel
Foren
Join
Projekte
List
Links
Random
Über Redscope
Previous
Next
Startseite › Foren › Allgemeine Fragen zu SAS
Anzahl Spalten ermitteln
23 February, 2010 - 16:35 — bezNika
Hallo, gibt es einen weg, Anzahl von Spalten zu ermitteln?
Man könnte die Tabelle transponieren und dann die Anzahl Zeilen ermitteln. Da die Tabellen ziemlich
gr0ß sind, ist die Laufzeit des Programms dann dementsprechend länger.
Es gibt do sicherlich einen eleganteren weg.
Vielen Dank im Voraus.
Foren:
Allgemeine Fragen zu SAS
Log in or register to post comments
PROC CONTENTS
23 February, 2010 - 17:22 — Tobias Hentschel
Mit PROC CONTENTS dürfte es funktionieren.
Weitere Idee:
Mit IML Datensatz in Matrix speichern, dann mit ncol(Matrix) die Spaltenanzahl bestimmen
PROC CONTENTS dürfte komfortabler sein.
Log in or register to post comments
mit proc contents hat's
25 February, 2010 - 16:08 — bezNika
mit proc contents hat's geklappt) danke-danke!
Log in or register to post comments
so geht es auch
24 February, 2010 - 07:25 — meta_cwl
hallo,
proc contents sollte funktionieren, es gibt aber auch eine "manuelle" Lösung mit Hilfe der DictonaryTabellen von SAS in der Library SASHELP:
proc sql;
select count(*)
into :anzahl_spalten
from sashelp.vcolumn
where libname = '<LIBNAME>' and memname = '<TABNAME>';
quit;
In der Macrovariable "anzahl_spalten" steht dann die Anzahl der Spalten der Tabelle.
Viele Grüsse,
Christoph
Log in or register to post comments
SAS I/O Functions
Hallo.
Als macro:
/* SAS Data oeffnen */
%let dsid=%sysfunc(open(&lib..&dsn.,i));
/* Anzahl Beobachtungen */
%let n_obs = %sysfunc(attrn(&dsid,NOBS));
/* Anzahl Spalten */
%let n_vars = %sysfunc(attrn(&dsid,nvars));
Als Datasetfunktionen:
data vars;
dsid=open("mysasdsn","i");
num=attrn(dsid,"nvars");
put num=;
rc=close(dsid);
run;
HTH
Dubravko Dolic
Log in or register to post comments
24 February, 2010 - 10:07 — dolic
Herunterladen