Veröffentlicht am :
Reporting SASHELP

Generierung eines dynamischen Webformulars für die SAS-Ausführung

Dieser Code ist auch verfügbar auf: English Español Français
Dieses Skript erstellt eine Weboberfläche (HTML-Formular). Zunächst fragt es die Tabelle 'sashelp.orsales' ab, um dynamisch eine Dropdown-Liste von Produkten über eine Makrovariable zu erstellen. Anschließend wird ein DATA _NULL_-Schritt verwendet, um den HTML-Code in den Ausgabestream '_webout' zu schreiben (typisch für SAS© Stored Processes oder SAS© Job Execution), wobei die dynamische Liste und Optionen für das Format (HTML, PDF, CSV...) und den ODS-Stil integriert werden.
Datenanalyse

Type : SASHELP


Die Quelldaten stammen aus der Standardtabelle 'sashelp.orsales', um die Dropdown-Liste 'product_line' zu füllen.

1 Codeblock
PROC SQL
Erklärung :
Abrufen der eindeutigen Werte aus der Spalte 'product_line', um eine Zeichenkette mit den HTML-<option>-Tags zu erstellen, die in der Makrovariablen 'options' gespeichert ist.
Kopiert!
1PROC SQL ;
2 select distinct '<option value="'||strip(product_line)||'">'||strip(product_line)||'</option>'
3 into :options separated BY ' '
4 from sashelp.orsales ;
5QUIT ;
2 Codeblock
DATA STEP
Erklärung :
Schreiben des HTML-Inhalts in den System-Fileref '_webout'. Die Funktion 'resolve' wird verwendet, um Makrovariablen (wie die zuvor generierte &options oder die Systemvariablen &_srvname) zu interpretieren, die im Rohdatenblock (cards4) vorhanden sind.
Kopiert!
1DATA _null_ ;
2 file _webout ;
3 INPUT ;
4 line=resolve(_infile_) ;
5 put line ;
6 cards4 ;
7
8
9

Pick a report to RUN

10
"get" ACTION="http://&_srvname:&_srvport/&_url?" target="content">
11<INPUT type="hidden" name="_program" value="/User Folders/phil/My Folder/test">
12
13&options
14
15
16
17
18
19
20
21
22
23
24
25
26
27<INPUT type="checkbox" name="_debug" value="log">Show log
28<INPUT type="checkbox" name="_debug" value="time">Show time taken
29
30
31<INPUT type="submit" value="Run">
32
33
35
36
37;;;;
38RUN ;
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.