Entradas

Mostrando entradas de 2014

Curso especialización Business Intelligence (SAS, PowerCenter y Oracle)

Imagen
Adjunto información de un interesante curso de Business Intelligence a impartir en Enero de 2015 en el que se adquiere formación teórica en sistemas datawarehouse y Business Intelligence, así como práctica en plataformas de gran demanda: Oracle, PowerCenter y SAS.


Migración de SAS a R

Imagen
Poco a poco y sin hacer ruido R empieza a entrar en el panorama empresarial español y empieza a haber proyectos de migración de SAS a R. No voy a entrar a valorar si una herramienta es mejor que otra, simplemente comentar que la realidad actual del departamento de análisis de las empresas españolas es SAS, pero los expertos en data science se decantan por R. Tampoco olvidar que SAS está haciendo un esfuerzo importante de adaptación a estos cambios que hay que valorar.



Sea como fuere, la necesidad de encontrar equivalencias entre código SAS y código R es cada vez más necesaria. Así que incluyo los siguientes links que pueden ser de ayuda:

Equivalencias SAS ,R y SPSS (I)

Equivalencias SAS, R y SPSS (II)

Equivalencias SAS, R y SPSS (III)

Equivalencias SAS, R y SPSS (IV)

Espero sea de ayuda y agradecería comentarios y nuevos ejemplos y equivalencias que el visitante quiera aportar para mejorar este compendio.

Para recibir formación de SAS a medida, formación de R a medida o ayuda para los migrar…

Jornadas de R

Imagen
Cada año despiertan más interés y son de mayor calidad las jornadas de R organizadas por la comunidad R - Hispano
Hay ponencias muy interesantes en el programa y cabe la posibilidad de asistir 'a distancia'.

Este año en gran lugar: Santiago de Compostela.



Jornadas R

SAS Forum 2014

Imagen
Hoy ha comenzado el SAS Forum 2014, donde están teniendo lugar interesantes ponencias y casos de negocios sobre Big Data Analytics.



SAS Forum 2014

Importar hoja Excel a tabla SAS (proc import)

Imagen
Es bastante común trabajar con hojas Excel como fuente de datos. Existen variadas formas de realizar la importación a tabla SAS desde hoja Excel: utilización de componentes de importación (Enterprise Guidecards de importación, paso previo a formato csv y utilización de lectura vía INFILE. En el ejemplo que mostramos a continuación empleamos el procedimiento proc import.



proc import datafile= "/ruta/..../.../fichero_excel.xls" dbms=XLS out=lectura_excel replace;      sheet="nombre_hija";      getnames=YES;           run; proc print data=lectura_excel; run;

Explicación de opciones: dbms: tipo de gestor del cual es extraen los datos (excel, access, ..) Sheet: hoja particular del libro excel getnames: indica si se mantienen las cabeceras out: se especifica la tabla sas de salida Range:  especificamos un rango de lectura concreto.


Más info...

SQL Joins: una visualización rápida

Imagen
Siempre me ha resultado de mucha utilidad y por eso lo adjunto el gráfico de abajo en el que queda claro qué resultado se obtiene según que tipo de join se haga en una SQL.


Tutorial de SAS

Imagen
En el siguiente link se incluye un tutorial de SAS/BASE que pretende ser de utilidad para todos aquellos que se inician en el uso de esta herramienta.




Tutorial SAS

Como ya indicamos en un post anterior, un grupo de profesionales especializados en Business Intelligence estamos preparando cursos de formación a medida para usuarios que quieran iniciarse en análisis de información con las herramientas R y SAS.





El curso está adaptado a la gran variedad de perfiles que pueden estar interesados en conocer R y SAS para su actividad profesional: informáticos, matemáticos, estadísticos, sociólogos, economistas, su empleo en investigación: biología, química, medio ambiente, etc..

Igualmente disponemos de un curso de adaptación para usuarios que conozcan otras herramientas similares como pueden ser SPSS ayudándoles a realizar la transición.

El curso de R se basa en la solución Rstudio y el de SAS en el módulo BASE de la  SAS University Edition , versión gratuita recientemente distribuida por SAS

El obj…

Excel: refresco automático de origen de datos en tablas dinámicas

Imagen
Dada la estrecha relación de Excel con los procesos de B.I. y de análisis de información, vamos a iniciar una serie de posts de Excel, en el que veremos diferentes utilidades de aplicación al análisis de datos.



Es habitual en un libro Excel en el que estamos analizando una tabla de datos, el disponer diferentes tablas dinámicas que apuntan a la misma tabla fuente de datos, pero muestran la información desde una diferente perspectiva camibiando el nivel de detalle, los ejes de análisis, los filtros o realizando zoom específicos sobre determinados datos. De forma, que podemos tener un conjunto de tablas dinámicas estructuradas en diferentes hojas, pero apuntando al mismo origen de datos: hoja de detalle, fichero externo, tabla access o tabla sql server externa, etc..
Un cambio de estructura o simplemente de nombre en nuestro origen de datos nos obligaría a volver a vincular todas las tablas dinámicas apuntando al nuevo origen de datos. Podemos automatizar este proceso realizando el víncul…

Métodos para exportar a Excel desde SAS

Imagen
Con frecuencia es necesario realizar una exportación de datos de tabla SAS a Excel.

Siempre existe la posibilidad de realizar la exportación de forma manual, empleando las utilidades que dispone SAS para ello. Por ejemplo, desde SAS Entreprise Guide.


A continuación mostramos dos ejemplos de métodos de exportación para poder realizarlo desde código SAS/BASE, la primera utiliza el procedimienro 'proc export' y la segunda la utilidad de exportación ODS (Output Delivery System).


/* Creamos la tabla de ejemplo */

data clientes;
length nombre $20. ciudad $20. edad 8.;
nombre = 'Pepe';ciudad = 'Madrid';edad = 30;
output;
nombre = 'Luis';ciudad = 'Valencia';edad = 40;
output;
nombre = 'Ana';ciudad = 'Murcia';edad = 50;
output;
run;

/* METODO 1 */
/* Emplendo procedimiento export */
proc export data=clientes
     outfile="C:\TEMP\pruebas_sas\clientes.xls"  dbms=EXCEL2007;
run;

/* METODO 2 */
/* Exportamos empleando el ODS (output delivery system) …

Modo vacaciones

Imagen
Lanzamos el siguiente script esperando entrar en breve en modo vacaciones:

proc sql;
create table vacaciones as (
select descanso, familia, amigos, playa, sol, viajes, libros, mochila, caminatas, bares, tapas, helados
from verano where periodo = 201408 and movil_oficina = 'OUT')
quit;

Para intentar no hacer esto:



Sino esto:


que es lo que toca....

Felices vacaciones!!

Proximamente...




Trabajando con el diccionario/metadata de SAS

Imagen
En un post anterior vimos la utilidad de las tablas del diccionario de SAS. A continuación incluímos una sencilla macro que puede ser de utilidad para hacer búsquedas en la metadata.



A menudo, nos encontramos con el problema de conocer qué tablas contienen determinado campo. La siguiente macro resuelve este problema de forma rápida, por si no disponemos en nuestra interfaz de desarrollo de una utilidad equivalente.

%macro tabla_columnas(tabla_resultado, lib_busqueda, columna_busqueda);
 /*
 tabla_resultado: tabla en la que guarda la salida de la búsqueda
 lib_busqueda: librería sobre la que realiza la búsqueda
 columna_busqueda: columna que estamos buscando
 */

 proc sql;

 create table &tabla_resultado as
 (SELECT distinct libname as libreria, memname as tabla
 FROM dictionary.columns WHERE upcase(libname)= upcase("&lib_busqueda")
 AND memtype = 'DATA' and upcase(name)=upcase("&columna_busqueda") );
 quit;

%mend tabla_columnas;

%let lib = work;
proc print data…

Mapas en R

Imagen
Existen numerosas librerías que permiten realizar de forma ágil mapas con R.
Mencionamos algunas de las más conocidas:maps, mapproj, mapdata, maptools, ggmap y rworldmap.
En este post vamos a realizar un sencillo ejemplo con la librería rworldmap.

Aprovechando la cercanía del último Mundial de fútbol, creamos un mapa en el que mostramos sobre un mapa del Mundo, aquellos países que han ganado un Mundial y el número de ellos.



library(rworldmap)

paises <- c("ESP", "Germany", "FRA", "ITA", "BRA",
            "ARG", "URY", "GBR")

mundiales <- c(1,4,1,4,5,2,2,1)

#Creamos la tabla de datos
paises_mund <- data.frame(paises, mundiales)
names(paises_mund) <- c("pais", "mundiales")

# Enlazamos los datos con el mapa po país, creando el mapa: map1
map1 <- joinCountryData2Map(paises_mund,
                          joinCode="NAME",                        
                          nameJoin…

Formación a medida en R y SAS

Imagen
Un grupo de profesionales especializados en Business Intelligence estamos preparando cursos de formación a medida a impartir en Madrid  para usuarios que quieran iniciarse en análisis de información con las herramientas R y SAS.




El curso está adaptado a la gran variedad de perfiles que pueden estar interesados en conocer R y SAS para su actividad profesional: informáticos, matemáticos, estadísticos, sociólogos, economistas, su empleo en investigación: biología, química, medio ambiente, etc..

Igualmente disponemos de un curso de adaptación para usuarios que conozcan otras herramientas similares como pueden ser SPSS ayudándoles a realizar la transición.

El curso de R se basa en la solución R studio y el de SAS en el módulo BASE de la SAS University Edition , versión gratuita recientemente distribuida por SAS

El objetivo es que los cursos sean muy prácticos, muy orientados y muy económicos.

Los interesados pueden escribir para recibir más info a:  cursos_a_medida_r@yahoo.es
o bien dejar un com…

Ejemplos de componentes para tratamiento de datos en SAS, SPSS y R. Equivalencias entre herramientas (III)

Imagen
Incluímos el último post de la serie, en la que estamos mostrando componentes de manipulación de datos codificados en SAS, SPSS y R.


Ejemplo 13. Tratamiento de fechas:
SAS:
data fechas; infile cards ; input fecha_inicio : MMDDYY10. fecha_fin : MMDDYY10.; dias=fecha_fin-fecha_inicio; cards; 3/01/2014 4/06/2014 3/02/2014 4/06/2014 3/06/2014 4/06/2014 ; run;
SPSS:
DATA LIST LIST /fecha_inicio (ADATE12) fecha_fin (ADATE12) BEGIN DATA 3/01/2014 4/06/2014 3/02/2014 4/06/2014 3/06/2014 4/06/2014 END DATA. COMPUTE dias = CTIME.DAYS(fecha_fin – fecha_inicio). EXECUTE. SAVE OUTFILE = 'C:\temp\fechas.sav'.
R:
fecha_ini <- c(as.Date('03/01/2014',format='%d/%m/%Y'),as.Date('03/02/2014',format='%d/%m/%Y'),as.Date('03/06/2014',format='%d/%m/%Y')) fecha_fin <- c(as.Date('04/06/2014',format='%d/%m/%Y'),as.Date('04/06/2014',format='%d/%m/%Y'),as.Date('04/06/2014',format='%d/%m/%Y')) tabla_fecha <- data.frame(fecha_ini…

Ejemplos de componentes para tratamiento de datos en SAS, SPSS y R. Equivalencias entre herramientas (II)

Imagen
Continuamos con la serie de posts, en la que mostramos componentes de tratamientos de datos codificados en las herramientas: SAS, SPSS y R.



Ejemplo 7. Obtener agregados:
SAS:
proc summary data=tabla1 noprint nway;    class cod_cliente ;    output out=tabla_ag(drop=_type_ _freq_)    sum(arpu) = suma_arpu mean(arpu) = media_arpu ; run;

SPSS:
aggregate outfile 'c:\temp\tabla_ag.sav'  /break cod_cliente  /suma­_arpu = sum(arpu).  /media_arpu = mean(arpu) get file 'c:\temp\tabla1.sav'. list.

R: tabla_ag <- aggregate(tabla1["arpu"], by=list(cod_cliente=tabla1$cod_cliente), FUN=sum)

Ejemplo 8. Eliminar duplicados:
SAS:
proc sort data=tabla1 nodupkeys; by cod_cliente; run;

SPSS:
GET FILE='C:\temp\tabla1.sav'. SORT CASES BY cod_cliente . MATCH FILES /FILE = * /BY cod_cliente /LAST = ultimo . FILTER BY ultimo . EXECUTE.
R:
tabla1_uniq <- unique(tabla1)

Ejemplo 9. Recodificación variables:
SAS:
data tabla2; set tabla1; if arpu >= 0 and arpu <= 10 then do;        grupo_arpu = 1; end; els…

SAS, SPSS and R: Ejemplos de componentes para tratamiento de datos en SAS, SPSS y R. Equivalencias entre herramientas (I)

Imagen
Existen en el mercado numerosas herramientas para tratamiento de datos. En este post, nos vamos a centrar en algunas de las más utilizadas: SAS, SPSS y R. Sin entrar a valorar la mejor o peor adecuación de cada una de ellas al tipo de proyecto en el que trabajemos, sus ventajas o sus inconvenientes,  lo que es evidente es que son tres herramientas muy extendidas.  
En este post, empezamos una serie, en la que mostraremos ejemplos de manipulación de datos en las tres herramientas, con objeto de tener el mismo código traducido a las tres herramientas. Estos ejemplos pretenden ser de ayuda para que usuarios de una de las tres herramientas puedan empezar a conocer las otras dos o también como ayuda en un proyecto de migración de procesos de una herramienta a otra.



Ejemplo 1. Obtener datos de una BBDD vía ODBC:
SAS:
proc sql; connect to odbc(dsn=dm_demo uid=user pwd=****); create table tabla1 as select * from connection to odbc( select * from tabla_bbdd ); quit;
SPSS:
*tabla1.sps. GET DATA /TYPE=ODBC /CO…