Veröffentlicht am :
Macro EXTERNE

Makro zum Zählen von Variablen

Dieser Code ist auch verfügbar auf: English Español Français
Dieses Makro, genannt `vdo_numvar`, wurde entwickelt, um die Anzahl der Variablen in jedem SAS©-Datensatz einfach zu bestimmen. Es nimmt ein einziges Argument, `dsn`, das den vollständigen Namen (oder über Libname referenzierten Namen) des Zieldatensatzes darstellt.
Intern verwendet es die SAS©-Funktion `%sysfunc`, um die folgenden Operationen auszuführen:
1. `open(&dsn)`: Öffnet den durch `dsn` angegebenen Datensatz und gibt dessen Datensatz-ID (`dsid`) zurück.
2. `attrn(&dsid,nvars)`: Ruft das numerische Attribut 'nvars' (Anzahl der Variablen) des durch `dsid` identifizierten Datensatzes ab.
3. `close(&dsid)`: Schließt den Datensatz, um Ressourcen freizugeben.
Das Makro gibt direkt den numerischen Wert zurück, der der Anzahl der gefundenen Variablen entspricht. Es ist nützlich für die dynamische Programmierung, bei der die Anzahl der Variablen variieren kann und für nachfolgende Verarbeitungen bekannt sein muss.
Datenanalyse

Type : EXTERNE


Das Makro arbeitet mit einem vorhandenen SAS-Datensatz, dessen Name als Parameter (`&dsn`) übergeben wird. Die spezifische Herkunft dieses Datensatzes ist im Makro selbst nicht definiert; es kann sich um SASHELP-Daten, zuvor in der Sitzung erstellte Daten oder externe Daten handeln, die über eine Libname referenziert werden.

1 Codeblock
MACRO
Erklärung :
Dieser Block definiert das Makro `vdo_numvar`. Es öffnet den durch den Parameter `dsn` angegebenen Datensatz, verwendet die Funktion `attrn`, um die Anzahl der Variablen (`nvars`) abzurufen, und schließt dann den Datensatz. Das direkte Ergebnis des Makros ist die Anzahl der Variablen.
Kopiert!
1macro vdo_numvar(dsn)/des="Nnmber of variables in a SAS dataset";
2 
3%let dsid=%sysfunc(open(&dsn));
4%sysfunc(attrn(&dsid,nvars)) %let rc=%sysfunc(close(&dsid));
5 
6%mend vdo_numvar;
7 
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.