Publicado el :
Informes SASHELP

Generación de Interfaz Web para Lanzamiento de Informes

Este código también está disponible en: Deutsch English Français
Este programa construye dinámicamente una interfaz web (formulario HTML). Comienza extrayendo la lista de líneas de productos disponibles en la tabla `sashelp.orsales` para crear una lista desplegable. Luego, transmite una página HTML a la salida web (`_webout`) que contiene un formulario. Este formulario permite al usuario elegir un producto, un formato de salida (HTML, PDF, CSV, RTF) y un estilo, y luego enviar la solicitud para ejecutar un programa SAS© específico.
Análisis de datos

Type : SASHELP


Los datos que alimentan la lista desplegable provienen de la tabla interna `sashelp.orsales`. El resto del contenido se define estáticamente en el código.

1 Bloque de código
PROC SQL
Explicación :
Selecciona los valores distintos de la columna `product_line` en `sashelp.orsales`. Formatea cada valor en una etiqueta HTML `<option>` y almacena la cadena concatenada en la macro-variable `:options`.
¡Copiado!
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 Bloque de código
DATA STEP
Explicación :
Genera el flujo HTML hacia el destino `_webout` (navegador). Utiliza `cards4` para incluir el código HTML en línea. La función `resolve` permite interpretar las macro-variables (como `&options` generada previamente, o `&_srvname`) dentro de los datos brutos antes del envío.
¡Copiado!
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 ;
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.