Macro XSET (from Fraktal SAS Programming): Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
K |
K |
||
Zeile 166: | Zeile 166: | ||
== How it is done == | == How it is done == | ||
− | The Macro first defines the OS command '''''"SET"''''' as text data source ('''''SAS''''' file reference) of type '''''"PIPE"''''' that delivers a dynamic two-column matrix with delimiter '''"="''' upon reference to the fileref. | + | # The Macro first defines the OS command '''''"SET"''''' as text data source ('''''SAS''''' file reference) of type '''''"PIPE"''''' that delivers a dynamic two-column matrix with delimiter '''"="''' upon reference to the fileref. |
− | This fileref is then used to dynamically "populate" a '''"data step view"''' that serves as data source for subsequent processing. | + | # This fileref is then used to dynamically "populate" a '''"data step view"''' that serves as data source for subsequent processing. |
− | From the left side of the matrix accessed the macro obtains the names of the OS environment variables and stores them as blank-separated list into a macro variable for use later on. | + | # From the left side of the matrix accessed the macro obtains the names of the OS environment variables and stores them as blank-separated list into a macro variable for use later on. |
− | Finally a data step with name '''"_NULL_"''' is used to write the two-variable dataset delivered by the data step view into the global symbol table. | + | # Finally a data step with name '''"_NULL_"''' is used to write the two-variable dataset delivered by the data step view into the global symbol table. |
== Special Effects == | == Special Effects == |
Version vom 11. August 2014, 19:58 Uhr
What it does
This SAS Macro transfers the environment from the particular operating system to SAS Macro variables.
- Characters "not appreciated" by SAS are removed from variable values.
- If a specific variable name is supplied, this will be the only one transferred.
Code executed | Function performed |
---|---|
|
Start Macro definition with name and positional parameter xvar |
|
Open source for text data of type pipe pointing to OS command |
|
|
|
Declare variables xvar and xval by length in bytes |
|
Utilize data stream from data source path |
|
Define structure of data stream path with variables xvar and xval |
|
Remove unwanted characters from variable xvar |
|
Specify condition on macro parameter xvar for using code segment |
|
Conditionally executed code |
|
End condition on macro parameter xvar |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Start datastep run group |
|
|
|
Transfer variable values to symbol table |
|
End data step run group |
|
Close source for text data |
|
End Macro definition with name |
How it is done
- The Macro first defines the OS command "SET" as text data source (SAS file reference) of type "PIPE" that delivers a dynamic two-column matrix with delimiter "=" upon reference to the fileref.
- This fileref is then used to dynamically "populate" a "data step view" that serves as data source for subsequent processing.
- From the left side of the matrix accessed the macro obtains the names of the OS environment variables and stores them as blank-separated list into a macro variable for use later on.
- Finally a data step with name "_NULL_" is used to write the two-variable dataset delivered by the data step view into the global symbol table.