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