Generalized Approach (from Fraktal SAS Programming): Unterschied zwischen den Versionen

Aus phenixxenia.org
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „It appears necessary to stress here, that any MACRO does not execute the program code contained but passes it to the '''''SAS'' compiler''' which will perform …“)
 
K
 
Zeile 1: Zeile 1:
 +
[[Kategorie:zazy]]
 +
{{SeitenNavigation1
 +
|links=xx_left.png
 +
|zurück=Straightforward Coding (from Fraktal SAS Programming)
 +
|rechts=xx_right.png
 +
|vorwärts=Advanced Coding (from Fraktal SAS Programming)
 +
|hoch=Duck_zazy_com.png
 +
|übersicht=Macro (from Fraktal SAS Programming)
 +
}}
 +
 
It appears necessary to stress here, that any MACRO does not execute the program code contained but passes it to the '''''SAS'' compiler''' which will perform a '''Compile-and-Go''' step as default. Nevertheless it would be premature to assume that this mechanism requires the code to be SAS code.  
 
It appears necessary to stress here, that any MACRO does not execute the program code contained but passes it to the '''''SAS'' compiler''' which will perform a '''Compile-and-Go''' step as default. Nevertheless it would be premature to assume that this mechanism requires the code to be SAS code.  
  
Zeile 44: Zeile 54:
 
  put '</svg>';
 
  put '</svg>';
 
  run;
 
  run;
 +
 +
{{SeitenNavigation1
 +
|links=xx_left.png
 +
|zurück=Straightforward Coding (from Fraktal SAS Programming)
 +
|rechts=xx_right.png
 +
|vorwärts=Advanced Coding (from Fraktal SAS Programming)
 +
|hoch=Duck_zazy_com.png
 +
|übersicht=Macro (from Fraktal SAS Programming)
 +
}}

Aktuelle Version vom 30. Januar 2014, 10:31 Uhr

Zurück

Übersicht

Vorwärts

It appears necessary to stress here, that any MACRO does not execute the program code contained but passes it to the SAS compiler which will perform a Compile-and-Go step as default. Nevertheless it would be premature to assume that this mechanism requires the code to be SAS code.

Instead, it is possible to GENERATE-and-PASS any code.

SAS provides means and concepts to direct generated source code to appropriate agents, be it external programs or the operating system itself. OS functions may be called explicitly or implicitly or code may be written to a text file that is executed later on.

Out of the numerous options, the following two might appear quite useful.


Utilize OS Functions

1. Access results from OS commands as data source.

filename myfref  pipe “dir c:\ /d”;

This statement assigns a file reference with target type pipe. The pipe type dynamically accesses the result of an OS function as data stream that can be used as text input file inside a data step.

2. Perform an operation on OS level.

systask command “mkdir c:\&MYDIR.”;

The SYSTASK statement is a powerful means to initiate and control background tasks. With options WAIT/NOWAIT it provides direct utilization of OS multitasking by initiating parts of complex SAS code as background tasks.


Write Vector Graphics

filename _xml_ "&MYPTH.\&MYGPH..svg";
data _null_;
file _xml_;
put '<?xml version="1.0" standalone="no"?>';
put '<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">';
put '<svg xmlns="http://www.w3.org/2000/svg" version="1.1" 
 width="29.7cm" height="21cm" 
 viewBox="-200 -100 1200 800"> 
 <desc> Example anim01 - demonstrate animation elements 
 </desc>
 <title> SpotGrid 
 </title>
';
put '
 <rect id="OuterBorder" x="-4" y="-4" width="904" height="604" fill="rgb(255,255,255)" stroke="rgb(0,0,0)" stroke-width="8">  
 </rect>
';
put '</svg>';
run;

Zurück

Übersicht

Vorwärts