Desde este blog hemos ido presenciando el lanzamiento de soluciones estadísticas cada vez más visuales. Aunque desarrollar código sigue siendo de gran utilidad, los “fabricantes de software” se lanzan cada vez más a comercializar soluciones que permitan a profesionales trabajar más allá de la programación.
Al mismo tiempo, la creciente digitalización de la información hace cada vez más importante para las organizaciones la necesidad de mejorar la calidad del dato. Una información adecuada permite solucionar de manera eficiente incidencias y cumplir de manera adecuada los objetivos de marketing o de integración de sistemas, por ejemplo.
En ese proceso de cambio se sitúa SAS Dataflux, también llamado SAS Data Management Studio. La solución permite hacer depuraciones de manera bastante sencilla, al mismo tiempo que complejas tareas de combinación y enriquecimiento de campos utilizando jobs de datos y jobs de procesos que pueden planificarse desde el sistema operativo.
Además, la plataforma cuenta con un lenguaje específico: el Expression Engine Language (EEL), que proporciona una gran variedad de instrucciones, funciones y variables para configurar las expresiones necesarias para ejecutar procesos automatizados y parametrizados de depuración.
Hace falta una reflexión sobre el trabajo, los derechos humanos, el planeta. Mejorar los métodos de aproximación a la realidad. Hay una sociología necesaria. Un lugar de encuentro acerca de métodos de investigación, herramientas conceptuales y resultados de estudios, desde una mirada interdisciplinar. Una ventana para reflexionar realidades no problematizadas. Un espacio de apoyo profesional en métodos, diseño de proyectos de investigación e intervención y asesoría en tratamiento de información.
Mostrando entradas con la etiqueta SAS. Mostrar todas las entradas
Mostrando entradas con la etiqueta SAS. Mostrar todas las entradas
miércoles, 20 de julio de 2022
miércoles, 13 de abril de 2022
FORMULARIOS DE CAPTURA DE PARÁMETROS EN SAS/VIYA
En una entrada anterior nos referíamos a SAS/Viya. Es una plataforma de SAS que se ejecuta en cloud y tiene como fuerte que brinda la posibilidad de ejecutar los trabajos “In Memory”, lo que aumenta la eficiencia cuando se lanzan sobre tablas pesadas.
Dadas estas nuevas posibilidades, muchas organizaciones están migrando sus procesos a SAS/Viya. En ese contexto, una dificultad que se presenta es cómo emular los procesos de captura de parámetros de SAS/Guide; en los que los usuarios del programa eligen mediante un menú una serie de opciones para la salida de los datos.
Pues, ciertamente, SAS/Viya no ofrece todavía una solución sencilla para esta captura de parámetros. Pero una posibilidad es crear un job y después asociar al mismo unos objetos diferentes llamados Task Prompts. Estos últimos pueden crearse con lenguaje xml o con lenguaje html a través de javascript. Nos tocó estudiar bastante para poder hacer funcionar uno de estos task prompts, pero nos funcionó con html y javascript. En este enlace se explica cómo hacerlo.
Dadas estas nuevas posibilidades, muchas organizaciones están migrando sus procesos a SAS/Viya. En ese contexto, una dificultad que se presenta es cómo emular los procesos de captura de parámetros de SAS/Guide; en los que los usuarios del programa eligen mediante un menú una serie de opciones para la salida de los datos.
Pues, ciertamente, SAS/Viya no ofrece todavía una solución sencilla para esta captura de parámetros. Pero una posibilidad es crear un job y después asociar al mismo unos objetos diferentes llamados Task Prompts. Estos últimos pueden crearse con lenguaje xml o con lenguaje html a través de javascript. Nos tocó estudiar bastante para poder hacer funcionar uno de estos task prompts, pero nos funcionó con html y javascript. En este enlace se explica cómo hacerlo.
domingo, 15 de marzo de 2020
UTILIZANDO PROC FORMAT DE SAS
En una entrada anterior nos referíamos a las posibilidades
que brindan paquetes estadísticos como SAS o R para obtener tablas bien presentadas sin necesidad de incluir en los conjuntos de datos variables de cadena. Para el
caso de SAS, hacíamos referencia al procedimiento “proc format”, que construye
formatos de etiquetas de valor que pueden ser utilizados por procedimientos de
tabulación como proc tabulate, proc report o proc print, entre otros.
Como se observa, el código incluye un "proc format" llamado "estadio", que se llama en el "proc tabulate" para la variable estadio (numérica).
Hoy vamos a ver un ejemplo práctico, que cruza las razones para escoger a una empresa o a una persona con el estadio de sistematización en que se encuentra la entidad.
proc format;
proc tabulate data=sasuser.basefinal ;
value estadio 1='1. Primer estadio de sistematizacion interna'
2='2. Segundo estadio de sistematización interna'
3='3. Tercer estadio de sistematización interna'
4='4. Cuarto estadio de sistematización interna';
run;
title1 'Principales razones para escoger a la empresa o persona';
title2 'Función 1: Ventas – telemarketing y ventas móviles';
title3 'Según Estadios de sistematización interna';
title4 'Al 80% del directorio';
class estadio;
var F89 F90 F91 F92 F93 F94 F95 F97;
keylabel n='' mean=' ' all='Total';
table all estadio, n*f89=' '
mean*f89='Precio'*f=nlpcti8.2
mean*f90='Cercanía geográfica'*f=nlpcti8.2
mean*f91='Reconocimiento en el mercado'*f=nlpcti8.2
mean*f92='Por sus conocimientos, experiencia'*f=nlpcti8.2
mean*f93='Por su infraestructura y equipos'*f=nlpcti8.2
mean*f94='Porque existían vinculos anteriores y relaciones de confianza'*f=nlpcti8.2
mean*f95='Porque pertenece al mismo grupo empresarial'*f=nlpcti8.2
mean*f97='Otra'*f=nlpcti8.2;
format estadio estadio.;
footnote 'Fuente: DANE y Universidad Nacional';
run;
Como se observa, el código incluye un "proc format" llamado "estadio", que se llama en el "proc tabulate" para la variable estadio (numérica).
El resultado de la ejecución de este código es un cuadro de salida que incluye las etiquetas de los valores, utilizando únicamente una variable numérica. Lo que aporta eficiencia al trabajo.
domingo, 13 de octubre de 2019
SAS VIYA, LA NUEVA EVOLUCIÓN DE SAS
![]() |
Conocer diferentes herramientas de trabajo con datos es, hoy en día, una obligación para los científicos sociales. Ello se debe al creciente proceso de digitalización y a la integración de datos de orígenes diferentes en eficientes bases de datos que facilitan la generación de conocimiento.
En esta entrada nos ocuparemos de SAS Viya, una reciente evolución del paquete estadístico SAS. Se distingue de las anteriores por contar con una plataforma Cloud Analytics Services (CAS), que traducido al español equivale a Servicios Analíticos en el Cloud. Se trata de una ingeniería “in-memory” (en memoria), que trata de acelerar todas las fases del proceso con los datos.
Esta tecnología permite enlazar varios servidores entre sí con vistas a aumentar su rendimiento, pudiendo gestionar qué parte del trabajo se asigna a cada uno. Otra fortaleza es que, a través del módulo SAS Visual Analytics, permite a personas alejadas de la programación interactuar y analizar la información estadística.
SAS Viya plantea también ligeros cambios en el lenguaje de programación, con la introducción del procedimiento proc casutil, que tiene que ver con la carga de las tablas en los antes citados servidores. Cambios en los comandos Partition y Orderby del paso data, así como algunos procedimientos, como proc format, proc partition y proc varcluss, entre otros.
Desde aquí animamos a los profesionales de las ciencias sociales a que aprendan el lenguaje SAS, pues el mercado de trabajo está requiriendo profesionales que, capaces de pilotar procesos de integración y automatización de la información, cuenten con competencias analíticas que mejoren la calidad de las tareas realizadas.
lunes, 25 de marzo de 2019
BIG DATA Y VARIABLES DE CADENA
![]() |
| Imagen de un cuadro de salida |
En ese contexto, aprendimos a codificar los valores de cadena en valores numéricos, para evitar malgastar recursos de procesamiento y almacenamiento. Si tenemos una lista de provincias de España, las traducimos a números y usamos “Value labels”, el comando de SPSS que definía etiquetas para cada uno de esos valores numéricos que obteníamos en los cuadros de salida. En SAS, se utiliza para lo mismo “proc format” que, ademas, permite recodificar valores.
Con el paso del tiempo, los equipos de cómputo ganaron en capacidad de procesamiento y los discos duros fueron creciendo en capacidad para almacenar matrices de datos de gran tamaño. Por unos años, casi nos olvidamos de esas amenazas y generaciones de jóvenes se incorporaron a la analítica desconociendo completamente estas amenazas.
Pero llegamos al momento histórico actual. El creciente proceso de digitalización de la información nos introdujo en fuentes más allá de las encuestas. Se desarrolló el llamado big data: grandes volúmenes de información desestructurada que se podía utilizar para generar conocimiento. Tanto es así que veloces procesadores y eficientes dispositivos de almacenamiento se están empezando a quedar pequeños. Una época en la que, por primera vez, nos planteamos el enorme consumo de energía producido por los servidores y sus terminales clientes.
Ante esta situación, recodificar información de cadenas de texto o strings es importante para hacer viables los proyectos y para reducir el consumo de energía de los servidores. Una cuestión, esta última, que no sólo es un problema de costos sino también medioambiental.
Desde Sociología Necesaria podemos ayudarte en esa tarea. Si trabajas con SAS, SPSS o R no dudes en consultarnos. Podemos ayudarte a optimizar tus procesos.
domingo, 11 de noviembre de 2018
SAS ENTERPRISE MINER, UN MÓDULO ESTADÍSTICO DE SAS
Aunque todos los módulos de SAS pueden ser utilizados para
producir estadísticas a partir de los datos, SAS Enterprise Miner está
concebido para que los usuarios puedan generar valor a partir de dicha
información cuantitativa sin necesidad de tener conocimientos avanzados en
programación.
En concreto, el módulo es utilizado en el campo de Business
Intelligence o Inteligencia de Negocios, pues facilita la imputación de valores
ausentes o la creación de árboles de decisión, modelos neuronales y de
regresión logística, entre otros.
Al mismo tiempo SAS Enterprise Miner facilita el trabajo en
conexión con un servidor, así como el trabajo en equipo entre programadores y
analistas. Este aspecto se inscribe en una tendencia cada vez más clara hacia la integración de equipos de trabajo de diferentes perfiles.
domingo, 11 de marzo de 2018
WPS, EL CLON DE SAS
Con anterioridad hablábamos de
PSPP, el clon de SPSS en software libre. Hemos sabido de la existencia de World Programming Software (WPS) un clon del paquete estadístico SAS que, aunque no es freeware, tiene un precio de venta menos elevado.
Desarrollado por la empresa británica World Programming, cuenta con versiones para Windows, Mac, Z/Os, Linux, Solaris y AIX.
La plataforma es compatible con programas SAS, macros, ODS’s (salidas), así como datasets o conjuntos de datos.
Cuenta con un módulo de analítica estadística (WPS Statistics) , así como de gráficos (WPS Graphics), de series temporales (Time Series) o de manipulación de matrices de datos (Matrix Programming). En cuanto a interacción con otros lenguaje, su código soporta llamadas a Python, Hadoop y R.
Hemos probado la aplicación y nos parece una buena alternativa, si bien el código de SAS Graphics no puede ser compilado y hemos sabido de algunos problemas para cargar programas SAS, tales como los subcomandos de contraseñas de datasets de SAS (genera errores con PW=, ALTER= o PROTECT=) o el trabajo con variables char (que, a diferencia de SAS, carga con espacios a la derecha).
PSPP, el clon de SPSS en software libre. Hemos sabido de la existencia de World Programming Software (WPS) un clon del paquete estadístico SAS que, aunque no es freeware, tiene un precio de venta menos elevado.Desarrollado por la empresa británica World Programming, cuenta con versiones para Windows, Mac, Z/Os, Linux, Solaris y AIX.
La plataforma es compatible con programas SAS, macros, ODS’s (salidas), así como datasets o conjuntos de datos.
Cuenta con un módulo de analítica estadística (WPS Statistics) , así como de gráficos (WPS Graphics), de series temporales (Time Series) o de manipulación de matrices de datos (Matrix Programming). En cuanto a interacción con otros lenguaje, su código soporta llamadas a Python, Hadoop y R.
Hemos probado la aplicación y nos parece una buena alternativa, si bien el código de SAS Graphics no puede ser compilado y hemos sabido de algunos problemas para cargar programas SAS, tales como los subcomandos de contraseñas de datasets de SAS (genera errores con PW=, ALTER= o PROTECT=) o el trabajo con variables char (que, a diferencia de SAS, carga con espacios a la derecha).
domingo, 15 de octubre de 2017
VARIABLES MACRO AUTOMÁTICAS EN SAS
Al iniciar una sesión de SAS, se configuran una serie de macros automáticas, que se pueden utilizar en los programas. Algunas de ellas son:
En el log obtendremos la siguiente salida:
- &SYSDATE: Expresa la fecha actual: 15OCT17
- &SYSTIME: Muestra la hora actual: 7:15
- &SYSDAY: Arroja el día de la semana: Tuesday
- &SYSVER: Informa de la versión de SAS que tenemos instalada: 9.4
- &SYSTIME: Muestra la hora actual: 7:15
- &SYSDSN: Muestra la librería y el nombre del último dataset creado en la actual sesión de SAS: WORK A
%put fecha actual=&SYSDAT, &SYSDATE;
En el log obtendremos la siguiente salida:
1 %put fecha
actual=&SYSDAY &SYSDATE;
fecha actual=Sunday, 15OCT17
domingo, 8 de octubre de 2017
FORMAT E INFORMAT EN SAS
Quienes
conocéis algo de SAS, habréis visto alguna vez las sentencias Format e Informat
como parte del paso Data. Ambas tienen que ver con asignar formatos a las
variables, pero existe una diferencia importante entre ellas: Informat
se refiere a formatos de lectura de datos, mientras que Format se utiliza para
formatos de escritura.
En
ambas podemos establecer un formato por defecto para las variables a las que no
se le haya asignado formato. Un ejemplo sería el siguiente, en el que
establecemos para la variable W el formato $char3 y para la variable Y el
formato 10.3, al tiempo que asignamos como formatos por defecto 8.2 y $char8,
que se aplicarán a las columnas a las que no se haya asignado formato (en este
caso X y Z):
En este caso, se asigna como formato de lectura 6.2
a la variable X, dejando 3.1 como formato por defecto para otras columnas numéricas.
data tstfmt;
format W $char3.
Y 10.3
default=8.2 $char8.;
W='Good morning.';
X=12.1;
Y=13.2;
Z='Howdy-doody';
put W/X/Y/Z;
run;
La
sentencia Informat funciona de manera similar.
data tstinfmt;
informat x 6.2 default=3.1;
input x;
put x;
datalines;
111
222
333
;
run;
En este caso, se asigna como formato de lectura 6.2
a la variable X, dejando 3.1 como formato por defecto para otras columnas numéricas.
domingo, 4 de diciembre de 2016
CÓMO COMPARAR DATASETS SAS CON PROC COMPARE
En ocasiones, trabajando con SAS, hemos hecho una
transformación arriesgada en nuestros datos y necesitamos comprobar que todo el
dataset o algunas de sus variables siguen teniendo los mismos valores que
antes.
Un sencillo procedimiento para lograrlo es utilizar el
comando “proc compare”, que compara una tabla A con una tabla B, informándonos
de si los datos son idénticos o desiguales. Tras la ejecución del comando
podremos ver detalles como número de variables y número de observaciones de
cada conjunto de datos, entre otros. Pero, sobre todo, obtendremos la relación
de variables con valores comunes y diferentes.
Por defecto, podremos ver una relación de los primeros 50
valores diferentes de ambas tablas. Para anular ese tipo de listado, podemos
colocar la opción “Novalues”.
Para contar en el reporte con el listado de variables no
coincidentes que están en uno de los datasets y no en el otro, podemos utilizar
la opción “Listvar”.
Si lo que necesitamos es comparar sólo los valores de
determinadas variables, utilizamos el subcomando “var” seguido de las variables
que queremos incluir.
proc compare base=a compare=b novalues;
run;
Por último, puede ser útil la posibilidad de comparar dos variables diferentes dentro de un mismo dataset, para comprobar que dos maneras de crear una columna conducen a los mismos resultados. En ese caso usaremos el subcomando “with” seguido de los nombres de las variables que necesitamos contrastar.
domingo, 19 de junio de 2016
CREA UN GRÁFICO DINÁMICO EXCEL DESDE SAS
Aunque los gráficos SAS pueden ser un buen instrumento para presentar resultados, en ocasiones las necesidades de nuestros equipos o clientes pueden requerir que les generemos un gráfico dinámico. Un gráfico dinámico es un tipo de representación que permite al usuario elegir una serie de filtros, ejes, valores y leyendas. En pocas palabras, una herramienta visual de análisis.
Con el comando "proc export" de SAS podemos generar una salida Excel, pero no un gráfico dinámico. Para ello, debemos crear una macro desde Excel, que elabora el gráfico dinámico a partir de la tabla XLSX. Una vez realizada esta macro, ya sí que podemos llamarla desde el código SAS. Os pongo un ejemplo:
Repasamos los pasos de este código: con “proc export” exportamos la tabla a formato Excel; con “rc=system(‘start excel’)” llamamos a Excel; con “sleep(10)” esperamos diez segundos mientras se escribe la tabla (en mi ejemplo es una tabla de más de 160.000 registros); y, con “[RUN("personal.xlsb!macrografico")]” lanzamos la macro macrografico, que crea el gráfico dinámico.
Espero que os sirva. No olvidéis compartir.
Con el comando "proc export" de SAS podemos generar una salida Excel, pero no un gráfico dinámico. Para ello, debemos crear una macro desde Excel, que elabora el gráfico dinámico a partir de la tabla XLSX. Una vez realizada esta macro, ya sí que podemos llamarla desde el código SAS. Os pongo un ejemplo:
proc export data=ruta.tablaexcel.xlsx"
dbms=excel replace;
sheet="tabla1";
run;
/* Automatización del gráfico */
options noxwait noxsync;
data _null_;
rc=system('start excel');
run;
data _null_;
x=sleep(10);
run;
filename CMDS DDE 'EXCEL|SYSTEM';
data _null_;
file CMDS;
put "[open(""ruta.tablaexcel.xlsx"")]";
run;
data _null_;
file CMDS;
put '[RUN("personal.xlsb!macrografico")]';
run;
dbms=excel replace;
sheet="tabla1";
run;
/* Automatización del gráfico */
options noxwait noxsync;
data _null_;
rc=system('start excel');
run;
data _null_;
x=sleep(10);
run;
filename CMDS DDE 'EXCEL|SYSTEM';
data _null_;
file CMDS;
put "[open(""ruta.tablaexcel.xlsx"")]";
run;
data _null_;
file CMDS;
put '[RUN("personal.xlsb!macrografico")]';
run;
Repasamos los pasos de este código: con “proc export” exportamos la tabla a formato Excel; con “rc=system(‘start excel’)” llamamos a Excel; con “sleep(10)” esperamos diez segundos mientras se escribe la tabla (en mi ejemplo es una tabla de más de 160.000 registros); y, con “[RUN("personal.xlsb!macrografico")]” lanzamos la macro macrografico, que crea el gráfico dinámico.
Espero que os sirva. No olvidéis compartir.
domingo, 12 de junio de 2016
TRUCO DE SAS: UTILIZAR EL LOG CUANDO LA IMPORTACIÓN DE DATOS FALLA
Como hemos señalado anteriormente, los paquetes estadísticos se acercan cada vez más a los usuarios facilitando la gestión de los datos a nivel de menús. Por ejemplo, el menú de importación de datos de SAS (File, Import Data) emula el paso "data" del lenguaje SAS.
De esta manera, el usuario que no es programador está autogenerando código SAS a través de los menús. Internamente, el programa toma los primeros registros de un fichero CSV, TXT, XML u otras extensiones, y trata de definir los formatos de las columnas que tendrá la tabla SAS. Pero muchas veces, el proceso falla porque en registros siguientes los datos tienen una anchura mayor, por ejemplo. En ese momento, muchos se resignan a tener que dar formato manualmente a cada columna.
Pero lo que muchas personas no saben es que el paso data utilizado aparece en la ventana de log de SAS. Que puede copiarse, editarse (recomendamos Ultra Edit, un editor de texto de licencia gratuita que nos permite eliminar rápidamente los molestos números de línea de dicho log), pegar en el editor de programa de SAS, hacer el cambio o los cambios de formatos en las variables que están fallando y lanzarlo con muchas probabilidades de éxito.
La recomendación no es sólo para las personas que trabajan con SAS a nivel de usuario, sino también para los programadores, que ganarán tiempo en su trabajo si siguen esta sencilla estrategia.
domingo, 31 de enero de 2016
MACROVARIABLES LOCALES Y GLOBALES EN SAS
Hoy nos referiremos nuevamente a las macros del lenguaje SAS, concretamente a la diferencia entre las macrovariables locales y las globales.
Las macrovariables locales sólo están disponibles durante la ejecución de un programa macro. Su valor no puede ser cambiado, con lo cual desaparecen cuando termina el despliegue de dicha macro.
En cambio, las globales están disponibles durante toda la sesión de SAS. A no ser que sean desactivadas por el comando %symdel.
Hay una importante diferencia práctica entre estos dos tipos de macrovariables. Un uso intensivo de macros globales durante la ejecución de un programa pone en peligro la memoria interna del equipo desde el que se procesa SAS. Mientras que el uso de macros locales no es tan inquietante o, al menos, está limitada únicamente por la potencia de recursos que dicho subprograma macro comprometa.
Las macros locales pueden ser creadas a través de los parámetros de una macrodefinición, a partir del paso %let, a través de los comandos symput y symputx del paso data, a través del select del comando proc sql o a través del comando %local (que reserva variables locales para una posterior definición). Mientras que las macros globales pueden ser creadas por un %let, por los comandos symput y symputx, por el select de proc sql y por el comando %global... siempre y cuando estos pasos se encuentren fuera de un programa macro.
En cambio, las globales están disponibles durante toda la sesión de SAS. A no ser que sean desactivadas por el comando %symdel.
Hay una importante diferencia práctica entre estos dos tipos de macrovariables. Un uso intensivo de macros globales durante la ejecución de un programa pone en peligro la memoria interna del equipo desde el que se procesa SAS. Mientras que el uso de macros locales no es tan inquietante o, al menos, está limitada únicamente por la potencia de recursos que dicho subprograma macro comprometa.
Las macros locales pueden ser creadas a través de los parámetros de una macrodefinición, a partir del paso %let, a través de los comandos symput y symputx del paso data, a través del select del comando proc sql o a través del comando %local (que reserva variables locales para una posterior definición). Mientras que las macros globales pueden ser creadas por un %let, por los comandos symput y symputx, por el select de proc sql y por el comando %global... siempre y cuando estos pasos se encuentren fuera de un programa macro.
viernes, 27 de noviembre de 2015
SAS FORECAST, EL MÓDULO DE PROSPECCIÓN ESTADÍSTICA DE SAS
SAS Forecast Server es un módulo de SAS orientado hacia la obtención automática de predicciones estadísticas.
El desarrollador plantea como principal ventaja de Forecast que facilita la realización de estas tareas sin necesidad de escribir código. Es decir, permite trabajar con el módulo de una manera interactiva mediante menús, dejando para los usuarios más avanzados el trabajo de escribir los programas SAS. Ello incide en la creciente demanda de uso de los paquetes estadísticos por parte de cada vez más miembros de un proyecto.
Otro de los beneficios destacados es la posibilidad de trabajar muy ágilmente con enormes cantidades de datos. Además, la planificación del trabajo de prospección incluye la programación de pronósticos en períodos, por ejemplo, de vacaciones para los analistas.
La última versión de SAS Forcast Server es la 14.1, que incluye una interfaz web para los pronósticos (SAS Forecast Server Client) desde la que se puede configurar los análisis realizados, segmentar las series temporales o escribir código para modelos personalizados.
El desarrollador plantea como principal ventaja de Forecast que facilita la realización de estas tareas sin necesidad de escribir código. Es decir, permite trabajar con el módulo de una manera interactiva mediante menús, dejando para los usuarios más avanzados el trabajo de escribir los programas SAS. Ello incide en la creciente demanda de uso de los paquetes estadísticos por parte de cada vez más miembros de un proyecto.
Otro de los beneficios destacados es la posibilidad de trabajar muy ágilmente con enormes cantidades de datos. Además, la planificación del trabajo de prospección incluye la programación de pronósticos en períodos, por ejemplo, de vacaciones para los analistas.
La última versión de SAS Forcast Server es la 14.1, que incluye una interfaz web para los pronósticos (SAS Forecast Server Client) desde la que se puede configurar los análisis realizados, segmentar las series temporales o escribir código para modelos personalizados.
martes, 8 de septiembre de 2015
CÓMO DESACTIVAR O BORRAR MACROS EN SAS
Ya nos hemos referido al paquete estadístico SAS en entradas anteriores. Cuando hablamos del uso de macros en dicho programa, es fácil encontrar a personas que opinan que las macro llenan la CPU del equipo, ralentizando los procesos. Esto no siempre es verdad y, además, disponemos de la posibilidad de desactivar o borrar una macro una vez que se ha creado y ha desempeñado su papel dentro de un proceso determinado. Incluso podríamos crear macros que desactivan otras macros.
No todos los usuarios de SAS saben cómo desactivar una macro. La forma de hacerlo es muy sencilla, utilizando el comando %symdel. En el cuadro siguiente vemos como crear la macro ‘sociologianeces’ con el comando %let, y la manera de borrarla con el comando %symdel. El comando %put nos muestra la ejecución o no ejecución de la macro.
%let sociologianeces='Sociología Necesaria';
%put sociologianeces=&sociologianeces;
%symdel sociologianeces;
%put sociologianeces=&sociologianeces;
Podéis copiar y pegar este código para ejecutarlo en vuestro SAS. Y, ya sabéis, con esta posibilidad tenéis un argumento más para convencer a los enemigos de las macros.
No todos los usuarios de SAS saben cómo desactivar una macro. La forma de hacerlo es muy sencilla, utilizando el comando %symdel. En el cuadro siguiente vemos como crear la macro ‘sociologianeces’ con el comando %let, y la manera de borrarla con el comando %symdel. El comando %put nos muestra la ejecución o no ejecución de la macro.
%let sociologianeces='Sociología Necesaria';
%put sociologianeces=&sociologianeces;
%symdel sociologianeces;
%put sociologianeces=&sociologianeces;
Podéis copiar y pegar este código para ejecutarlo en vuestro SAS. Y, ya sabéis, con esta posibilidad tenéis un argumento más para convencer a los enemigos de las macros.
domingo, 26 de abril de 2015
SAS WEB REPORT STUDIO
Si hace unos meses nos ocupábamos de SAS/AF, hoy vamos a referirnos a una solución web de reporte y gestión de información que también es un módulo de SAS.SAS Web Report Studio es un módulo creado para cubrir las necesidades de consultas e informes que, manejando datos de SAS, puedan visualizarse desde un navegador web. Ello permite que usuarios sin ningún conocimiento de SAS puedan acceder, gestionar e, incluso, generar reportes de datos de una manera sencilla y efectiva. Igualmente, puede ser concebida como una herramienta para desarrollar Data Warehouse.
La última versión del módulo, la 4.4, se comercializa como una parte de SAS Enterprise BI Server. Como novedad, permite obtener totales y subtotales a partir de tablas cruzadas y puede utilizarse desde Google Chrome.
Podéis encontrar un manual en inglés en la siguiente dirección.
viernes, 20 de febrero de 2015
UTILIZACIÓN DE HASH EN SAS
En la entrada de hoy vamos a acercarnos a una funcionalidad
muy utilizada en SAS: los objetos hash. También llamados tablas hash, son
estructuras de datos que facilitan búsquedas eficientes de datos. Son tipos de
Arrays (vectores) que permiten buscar valores de una primera variable en los
valores de una segunda.
El procedimiento hash utiliza la memoria RAM del ordenador y
no realiza escrituras en el disco, lo cual aporta mayor rapidez a los procesos. Estos objetos cuentan con una lista bastante extensa de
métodos (Add, Clear, Define Data, Find, etc.). De este modo, su uso permite
realizar tareas muy bien delimitadas.
Raúl Vaquerizo, experto en business intelligence ,
señala que la utilización de hash en SAS le ha permitido obtener una mayor
productividad y aprovechamiento del tiempo de trabajo con datos.
viernes, 19 de diciembre de 2014
¿QUÉ ES SAS/AF?
Como se ha
señalado en otras entradas, SAS es un paquete estadístico que ha pasado aconvertirse un software de análisis de información eempresarial.
La complejidad de
manejo de SAS como lenguaje de programación ha llevado a los desarrolladores de
este software a crear módulos que faciliten el trabajo de usuarios ajenos a la
programación. Además de SAS Enterprise Guide (más genérica), existe un módulo que
permite generar cuadros de diálogo para que los usuarios puedan interactuar con
los datos de una manera más específica.
El ambiente del
módulos SAS/AF es una ventana que contiene una interfaz en la que se puede
insertar y arrastrar campos y botones para crear una aplicación que es el cuadro
de diálogo final.
Por último, el lenguaje con
el que se realizan esas aplicaciones es SCL (SAS Component Language Elements), un código orientado a objetos que
fue diseñado para facilitar la interacción con aplicaciones SAS.
viernes, 5 de diciembre de 2014
INTEGRACIÓN ENTRE SAP Y SAS
Muchas veces he oído a personas confundir dos aplicaciones distintas: SAP y SAS. La primera es un software empresarial que puede ser relacionado con la integración sistémica interna (ERP), así como con estrategias de integración con proveedores (SCM) y con clientes (CRM). La segunda se ha ido convirtiendo en algo más que un paquete estadístico.
Pero también es cierto que ambas pueden complementarse. Si la primera facilita la integración de información de las diferentes áreas dentro de una empresa, la segunda permite la generación de indicadores necesarios para la toma de decisiones.
En este sentido, se puede hablar formas de integración entre ambas herramientas:
1. SAS/ACCESS Interface to SAP R/3 es un componente de SAS/ACCESS y permite a los usuarios de SAS interactuar con datos de SAP. Este adaptador aporta, según el desarrollador de SAS, la posibilidad de desarrollar procesos ETL, seguridad en los datos y alto nivel de eficacia
viernes, 22 de agosto de 2014
SAS ENTERPRISE GUIDE, EL SAS CON MENÚS
En la entrada de hoy vamos a hablar de una interfaz de menús desarrollada para utilizar más fácilmente SAS. Trabajar con menús permite mejorar la interactuación con el programa que, como señalábamos, es uno de los inconvenientes de uso del programa.Al igual que SPSS, este módulo de SAS permite generar código para algunas funciones desde los menús. Además, incorpora la posibilidad de encadenar tareas mediante los flujos de proceso, que se manejan en un entorno gráfico muy visual.
Existe una pequeña introducción en español al programa que pueden encontrar en la siguiente dirección.
El crecimiento de Sas Enterprise Guide se incribe en el aumento de la subcontratación de personal (insourcing) dedicado al procesamiento de datos que se está dando en las grandes empresas, sobre todo del sector financiero. Igualmente, el cada vez mayor uso de herramientas de Business Intelligence o Inteligencia de Negocios está generando la necesidad de disponer de un SAS más amigable.
Suscribirse a:
Entradas (Atom)









