Entradas

Mostrando entradas de 2017

Análisis y predicción de series temporales con SAS Visual Analytics

Imagen
En este video mostramos un ejemplo sencillo de cómo analizar series temporales en SAS Visual Analytics. En el ejemplo vemos por un lado realizar una predicción en base a la serie histórica y como trabajar con escenarios de simulación añadiendo nuevas métricas relacionada con la métrica de estudio.


Formación SAS (presencial y on-line)

Pentaho es ahora Vantara

Imagen
Hace un par de años Hitachi compró Pentaho y ahora se anuncia la creación de una nueva compañía llamada Vantara. Esta nueva compañía unifica las operaciones de Pentaho, Hitachi Data Systems y Hitacho Insight Group en una única compañía llamada Vantara.



Las herramientas Pentaho Data Integration y analytics continuarán evolucionando y Hitachi Vantara invertirá para los futuros desarrollos en big data, IoT y machine learning.



Más información en:

Pentaho becomes Hitachi Vantara

Hitachi Vantara

Por otro lado, el pasado mes de Agosto se publicó el cuadrante Gartner de herramientas de Integración de datos. En este cuadrante aparece por primera vez la solución ETL de Pentaho:  Pentaho Data Integration en el cuadrante de herramientas de nicho reconiciendo la buena evolución de la herramienta en los últimos años, sobre todo en lo relativo a su integración con infraestructuras Big Data (Hadoop, Spark, etc..) y su productividad en entornos Data Lake. Otra herramienta con potente versión open source co…

Curso on-line de Procesos ETL con Pentaho Data Integration

Imagen
Os recomendamos el siguiente curso on-line de Procesos ETL con Pentaho Data Integration de la plataforma Soydata en el que hemos tenido la oportunidad de participar:

http://academia.soydata.net/p/procesos-etl-pentaho-data-integration



Curso SAS online

Imagen
Datademy, centro de formación especializado en B.I. y Big Data lanza Curso SAS online orientado a analistas de negocio.



El curso se centra SAS Enterprise Guide y SAS Base e incluye: 
Material didáctico con multitud de ejemplosMás de 20 videos con ejemplos paso a pasoSesiones de tutoría on-line concertadas con el profesorRespuestas a dudas vía e-mail (tope 24h)Multitud de ejercicios prácticos orientados a áreas de reporting y analyticsProfesores certificados en SAS con dilatada experiencia en proyectosIdioma español

Diseñado para realizarlo desde cualquier localización, a distancia, a tu ritmo, compatible con horario laboral. 
El curso se ha realizado ya con alumnos españoles y de latinoamérica con bastante éxito y queremos seguir expandiendo fronteras.
Interesados: formacion@datademy.es. 
Datademy
</The Data Academy/>


Conectar SAS y Hadoop

Imagen
En este video revisamos diferentes opciones para conectar SAS y Hadoop. Existen otras opciones con otras herramientas de SAS (Data Loader, Visual Analytics, Viya...), pero aquí vemos accesos utilizando SAS Enterprise Guide.
Os invitamos igualmente a revisar posts anteriores donde abordamos estas cuestiones: opciones conexión SAS y Hadoop




Formación SAS

Ejecución de procesos en SAS Grid

Imagen
Una forma de mejorar el rendimiento de los procesos SAS es el uso del módulo SAS Grid (www.sas.com/grid). SAS Grid Computing es un entorno de computación distribuida que permite distribuir procesos entre un conjunto de nodos, balancear la carga de trabajo y reducir tiempos de ejecución de una forma transparente para los usuarios. SAS Grid manager provee una administración centralizada de la arquitectura. Permite planificar los procesos y manejar prioridades.



En este post vamos a ver un breve ejemplo de cómo modificar un proceso SAS Base para poder
ejecutarlo en Grid.

Tal y como se puede ver en el ejemplo, es necesario añadir la sentencia 'rsubmit' y 'endrsubmit'
para delimitar el código (subproceso) que se ejecutará en Grid. Igualmente hay que añadir una llamada a la función grdsvc_enable que indica a SAS que debe usar el Grid y  especifica un SAS aplication Server. SAS Grid Manager asigna los subprocesos a nodos del Grid. La sentencia signon permite inicar un sesión en Gr…

Conectando SAS con MongoDB

Imagen
MongoDB es una de las BBDD NoSQL más populares. Recomendamos en este post el uso de una macro que permite exportar tablas SAS a MongoDB, concretamente a colecciones de una base de datos MongoDB.



La macro se basa en la exportación a csv desde tabla SAS (procedimiento proc export) y el posterior uso de la utilidad de MongoDB mongoimport.exe. La información a indicar a la macro es: nombre del dataset SAS, nombre de
la base de datos y colección MongoDB donde alojar la información y el directorio raíz de MongoDB (por ejemplo en Windows :  C:\Program Files\MongoDB\Server\3.4\bin).

Más información y todo el detalle en este link: macro para conectar SAS y MongoDB

Formación SAS

------------

MongoDB is a well-known NoSQL database. In this post we recomend the use of a SAS macro that allows to export a SAS dataset to a MongoDB collection.

The macro does two steps: 1) export to csv from SAS dataset (proc export procedure), 2) call to mongoimport.exe utility of MongoDB. The arguments of the macro are: na…

Felices vacaciones

Imagen
Os deseo unas felices vacaciones, como las del data science del dibujo que a falta de pocas horas para empezar sus vacaciones, les cuesta empezar a desconectar y está planeando unas 'data driven holidays' ;-)..., no caigáis en el mismo error...


Equivalencias SAS, R y SPSS (IV)

Imagen
Incluímos otro post dentro de la serie de equivalencias entre SAS, R y SPSS, que esperamos puedan ser de utilidad ante la necesidad de conocer equivalencias entre un lenguaje y otro (migraciones, interpretación de procesos, etc..).



Los anteriores post de esta serie:

Equivalencias SAS, R y SPSS (I)

Equivalencias SAS, R y SPSS (II)

Equivalencias SAS, R y SPSS (III)

En este post incluímos ejemplos sobre tratamientos de datasets por grupos de registros (first y last de SAS) y una lista de casos de estadística descriptiva.



1) Uso de agrupaciones (first y last)

SAS:

/* Obtener el último registro de un grupo */

PROC SORT DATA=libsas.ventas;
  BY fecha;
RUN;

DATA libsas.ventas1;
  SET  libsas.ventas;
  BY   fecha;
  IF   last.fecha;
RUN;

R:

ventas <- read_delim("C:/temp/ventas.txt",
                     ";", escape_double = FALSE, trim_ws = TRUE)

myBys <- data.frame(ventas$fecha)
mylastList <- by( ventas,myBys,tail,n=1 )
mylastList

#Back into a data frame:
mylastDF <- do.call(rbind, m…

Videotutorial: ordenación de datos y gestión de duplicados

Imagen
Os dejo un video donde se explica paso a paso como ordenar tablas de SAS en base a una clave determinada y como detectar y gestionar registros duplicados en base a esa clave:



Formación SAS

Videotutorial: consultas parametrizadas con SAS

Imagen
Os dejo un video donde se explica paso a paso cómo realizar consultas parametrizadas con SAS:




Formación SAS

SAS Forum 2017

Imagen
El pasado martes 30 de Mayo tuvo lugar el SAS Forum en IFEMA. Es  uno de los eventos de analytics más importantes de España. Hubo una gran afluencia a pesar de las dificultades para moverse por Madrid por la huelga de taxis. 




Los temas principales sobre los que giraron las ponencias fueron:
La nueva normativa europea de protección de datos (GDPR)Inteligencia artificial y Machine learningExperiencias de cliente sobresalientesPrevención del fraude y optimización de riesgos

Tuvimos ponentes de primer nivel entre los que destacó Neil Harbisson, que es un conocido innovador.  Neil , tiene una antena implantada en su cabeza que le permite escuchar el espectro de color, incluyendo los infrarrojos y ultravioletas. Es la primera persona reconocida como cíborg en el mundo y su ponencia no defraudó.


Tuvimos una agenda muy interesante en la que empresas líderes en su sector mostraron sus proyectos y experiencias con SAS: https://www.sas.com/es_es/events/sfe/sas-forum-spain-2017.html#agenda
Iniciamos co…

Analizar código SAS desde R

Imagen
Interesante entrada sobre como analizar código SAS desde R:

Librería sasmap



En el post se explica como analizar código SAS desde R, obteniendo los procedimientos utilizados, pasos data, llamadas a macro y obteniendo incluso un flujo del proceso con la librería sasmap de Mango Solutions.

.......................................................................................................................................................

Interesting post that explain how to analyze SAS code from SAS:

sasmap library


The sasmap library obtain information such as procs used, data steps, call to macros, also yo can obtain a workflow of the SAS code. sasmap is a library of Mango Solutions

Examen ejemplo certificación SAS "Base Programmer" (II)

Imagen
Continuando el post anterior ejemplo examen certificación SAS BASE, añadimoos otro ejemplo de examen del certificado: 'SAS Certified Base Programmer for SAS 9''





As a continuation of the previous post: Example exam of SAS BASE certification, we add another example of exam of the certification:  'SAS Certified Base Programmer for SAS 9''

Examen / Exam:

Question 1:
data test;
set sasuser.employees;
if 2 le years_service le 10 then
amount = 1000;
else if years_service gt 10 then
amount = 2000;
else
amount = 0;
amount_per_year = years_service / amount;
run;

Which one of the following values does the variable AMOUNT_PER_YEAR contain if an employee has been with the company for one year?
A. 0
B. 1000
C. 2000
D. . (missing numeric value)

Answer :D (missing). It returns missing value as amount will be 0.
SAS Log: NOTE: Mathematical operations could not be performed at the following places. The results of the operations have been set to missing values.
Question 2:
The contents of the raw data…

Corrección automática de nulos en tablas SAS

Imagen
En la misma línea que este post anterior: detectar nulos en tablas SAS, añadimos un nuevo programa de ejemplo de SAS para automatizar la detección de nulos en una tabla SAS.


Se trata de una macro que revisa todos los campos de una tabla identificando nulos. Los nulos de variables de tipo numérico los sustituye por 0 y los de variables alfanuméricas por un carácter determinado, en este caso '-'. La macro valida por un lado las variables numéricas y por otra las alfanuméricas apoyándose en un array. Recibe como argumento el nombre de la tabla a validar (tabin) y genera una tabla nueva (tabout) que podría ser la misma. Se podría modificar para que los valores de sustitución para nulos de numéricos y alfanuméricos se recibieran como argumento. Esperemos os sea de utilidad.

-------------------------------------------------------------------------------------------------------------------------

This is a SAS macro that check all variables in a SAS dataset detecting null values. Null va…

Analisis RFM con SAS (video)

Imagen
Adjuntamos video explicando como realizar análisis RFM (Recency, Frequency y Money) con SAS Enterprise Guide. Es un video muy práctico en el que en 14 min se explica de un modo sencillo como parametrizar y ejecutar esta tarea



Formación SAS

Macro para cambio automático permisos tablas SAS

Imagen
Con frecuencia nos encontramos problemas de acceso a tablas SAS que se deben a los permisos con los que se crea la tabla de forma automática. Es posible que una tabla SAS generada por un usuario no pueda ser accedida por otros.

Habitualmente en un grupo de trabajo hay tablas maestras que deben ser accedidas por todo el equipo, para solucionar este problema de forma  rápida, añadimos una macro de SAS que cambia los permisos de todas las tablas de una librería.



Hay que saber la ruta física de la librería y los permisos actuales. Esto lo obtenemos con un proc contents:

proc contents data=tabsas._ALL_;
run;



Los permisos se dan utilizando el comando X y siguiendo el código rwx:Permisos rwx

%macro permisos_tablas(libreria);

PROC SQL;
create table tablas as (SELECT memname
FROM dictionary.tables WHERE libname= upcase("&libreria") );
quit;

%let dsid = %sysfunc (open(tablas));  
%let nobs = %sysfunc (attrn(&dsid, NOBS));
%if &nobs > 0 %then %do;
%do i = 1 %to &nobs;  
%let rc =…

Examen ejemplo certificación SAS "Base Programmer" (I)

Imagen
Añadimos un ejemplo de examen de la certificación: 'SAS Certified Base Programmer for SAS 9'
Información general del examen
Examen de ejemplo:

Question 1
The following program is submitted.
data WORK.TEST;
input Name $ Age;
datalines;
John +35
;
run;
Which values are stored in the output data set?
Name Age
---------------------
John 35 Name Age
---------------------
John (missing value)Name Age
---------------------
(missing value) (missing value)The DATA step fails execution due to data errors.correct_answer = "A" Question 2 Given the SAS data set WORK.ONE:
Id Char1
--- -----
182 M
190 N
250 O
720 P
and the SAS data set WORK.TWO:
Id Char2
--- -----
182 Q
623 R
720 S
The following program is submitted:
data WORK.BOTH;
merge WORK.ONE WORK.TWO;
by Id;
run;
What is the first observation in the SAS data set WORK.BOTH?
Id Char1 Char2
--- ----- -----
182 M
Id Char1 Char2
--- ----- -----
182 Q
Id Char1 Char2
--- …