Archivo de la categoría: Consultoría

Curso de lenguaje SAS con WPS. Lectura de ficheros de texto

Leer ficheros de texto con lenguaje SAS no es sencillo debido a la escasa flexibilidad de SAS.  La cosa se complica cuando leemos texto con WPS. Empleando el asistente de SAS y haciendo recall podemos leer ficheros con bastante comodidad. Eso no lo podemos hacer con WPS porque no dispone de asistente ni nada parecido al EFI de SAS. Así que tenemos que tantear con INPUT hasta conseguir leer el fichero correctamente. Pero esta entrada nos permite conocer mejor como funciona el paso DATA. Más adelante veremos como hacerlo con el PROC IMPORT. El primer ejemplo importa un fichero de texto de este tipo:

1 ,479.70055858 ,760.70972521 ,198.59444871 ,75.189163012 ,372.82062293 ,
2 ,754.21879802 ,343.8333852 ,253.53378256 ,398.35220966 ,532.53241281 ,
3 ,554.54856463 ,190.96417175 ,827.15448683 ,537.47661437 ,656.19086086 ,
4 ,377.5517132 ,180.89431253 ,519.43704743 ,814.11889932 ,812.06014837 ,

No tiene cabeceras está delimitado por comas, tiene 6 variables: id, importe1,.., importe5. Conocemos la estructura, el delimitador y las variables:


data importes;
infile "D:\raul\wordpress\curso sas\muestra1.txt" dlm=',';
input id importe1 importe2 importe3 importe4 importe5;
run;

Si estuviera delimitado por tabuladores trabajamos con dlm:


data importes;
infile "D:\raul\wordpress\curso sas\muestra2.txt" dlm='09'x;
input id importe1 importe2 importe3 importe4 importe5;
run;

Es el ejemplo más sencillo DATA genera un dataset que lee de un INFILE y con INPUT creamos un vector de variables que en la terminología de SAS se denomina PDV. Seguir leyendo Curso de lenguaje SAS con WPS. Lectura de ficheros de texto

Curso de lenguaje SAS con WPS. Que hace el paso DATA

El elemento principal del lenguaje SAS es el paso DATA. Este elemento crea, modifica y transforma conjunto de datos SAS (datasets). El paso DATA se compone de 2 fases, la fase de compilación y la fase de ejecución. En la fase de compilación DATA crea una estructura de memoria, conocida como program data vector (PDV), con la estructura que SAS considera más adecuada para el conjunto de datos, paralelamente crea toda una descripción de la información del dataset. Una vez creada la estructura de la tabla SAS se pasa a la fase de ejecución en la que SAS itera con cada registro haciendo “output” en el dataset cuando SAS llega a la sentencia RUN. La iteración se lleva a cabo hasta que SAS detecta el final del archivo.

DATA trabaja con conjuntos de datos que fundamentalmente serán:

  • Entrada manual de datos (INFILE + INPUT + DATALINES)
  • Ficheros de texto (INFILE + INPUT)
  • Otros conjuntos de datos SAS/WPS (SET MERGE UPDATE)
  • DBMS (Esto mejor no lo haremos con data…)

La entrada manual de datos en SAS no es muy cómoda pero sirve para conocer como funciona el PDV sin embargo eso no es mu útil en nuestro trabajo diario, no tenemos tiempo de pararnos en aspectos teóricos. Por esto es preferible poner un ejemplo “que funciona siempre” de este modo le guardáis y cuando tengáis que meter datos manualmente le recuperáis Seguir leyendo Curso de lenguaje SAS con WPS. Que hace el paso DATA

Curso de lenguaje SAS con WPS. El paso DATA

El elemento estrella del código SAS es el paso DATA. Con data podemos leer y escribir conjuntos de datos SAS. Un conjunto de datos SAS es una tabla de datos que contiene información sobre las variables y los registros de la tabla. Data lo que hace es crear una estructura para la tabla y posteriormente añadir datos a esta estructura, es un bucle, no necesitamos indicarle al sistema como recorrer la tabla. En WPS ejecutaremos nuestras sentencias en el editor a través de scripts sobre los que podemos navegar en el Proyect Explorer. La sintaxis de un paso data es imposible resumirla pero se puede estructurar del siguiente modo:

  1. DATA <nombre conjunto de datos SAS> ; Crea 1 o n  conjuntos de datos SAS
  2.  Sentencias de lectura: SET MERGE INFILE CARDS DATALINES…;
  3. Sentencias de manipulación de registros o variables;
  4. RUN;

Lo primero que hace DATA es crear una estructura en función de los datos de lectura. Una vez creada esa estructura lee los datos de forma iterativa y cuando llega a RUN se vuelcan los datos a la estructura. Los primeros ejemplos que vamos a analizar son Seguir leyendo Curso de lenguaje SAS con WPS. El paso DATA

Curso de lenguaje SAS con WPS. Lenguaje SAS

El lenguaje SAS tiene 3 elementos fundamentales:

  • Sentencias globales
  • Pasos DATA
  • Procedimientos PROC

SAS es un lenguaje de alto nivel interpretado. Esto es, ya está todo inventado y es muy costoso implementar nuevos procedimientos y algoritmos, algo de gran importancia en el mundo estadístico, pero para ello tenemos R. Ahora bien, ¿por qué las grandes organizaciones tienen SAS? Tiene una característica que destaca sobre todas: trabaja sobre disco, no trabaja sobre memoria como R o MATLAB. Esto nos permite gestionar grandes cantidades de registros y no estamos limitados por la memoria de nuestra máquina. WPS, evidentemente, hace lo mismo que SAS (a menor precio). Por la propia naturaleza de SAS es muy complicado poder crear nuevos procedimientos y funciones.

Volviendo a los elementos del lenguaje SAS vamos a comenzar con las sentencias globales. Estas sentencias son todos aquellos elementos que no son un paso DATA o un paso PROC y de ellas destaca LIBNAME Seguir leyendo Curso de lenguaje SAS con WPS. Lenguaje SAS

Curso de lenguaje SAS con WPS. Introducción

Hoy me gustaría mostraros el interfaz de WPS y cuales son las características principales de WPS y cuales son comunes entre SAS y WPS. Si pincháis  este link podréis descargaros una demo de WPS y seguir este curso. Cuando lo hagáis y abráis WPS os encontraréis con esto:

interfaz_wps.jpg

Este es el interfaz de WPS. Desde mi prisma es muy parecido a la versión 4 del Enterprise Guide. Se compone fundamentalmente de una ventana donde podemos editar programas con un código semafórico igual al de SAS. Tenemos una ventana donde navegamos por resultados, log y controlamos las ejecuciones. A la izquierda de ella tenemos las propiedades que se activarán cuando seleccionemos un elemento (particularmente me gusta mucho este elemento). El navegador del proyecto nos permitirá movernos entre los programas o scripts de SAS y además a la derecha tenemos una ventana que nos permite movernos entre los elementos y los procesos del código.

En este sentido hay que reconocer que la gente de WPS ha trabajado bastante bien y tienen un interfaz Seguir leyendo Curso de lenguaje SAS con WPS. Introducción

Curso de lenguaje SAS con WPS

Paro algunas series de las que venía escribiendo para iniciar una que es de mucha importancia para el blog. Voy a acercar el lenguaje SAS a los lectores con un menor nivel. Se trata de crear un curso introductorio al lenguaje SAS pero con la herramienta WPS. La metodología que seguirá el curso será muy similar a la de un manual que colgué en la red hace unos años. Pero en esta ocasión emplearé un lenguaje más apropiado para el blog y mejoraré algunos puntos del manual e incidiré en otros que no quedan muy claros.

En estos años he enseñado SAS a muchas personas de distintos perfiles y niveles y creo que he dado con un método más práctico y más orientado al trabajo diario. Manuales del mundo universitario hay unos pocos y mucho mejores que el mío. Sin embargo a partir de ahora emplearemos ejemplos simulados (como siempre) pero muy enfocados a los sectores donde más se utiliza SAS como pueda ser el sector asegurador, el sector bancario o el sector de las telecomunicaciones.

También quiero utilizar R desde WPS. A alto nivel, ya hay otros compañeros preparando “puentes” entre WPS y R a bajo nivel. Es decir, donde encuentre limitadas las posibilidades de WPS empezaremos a usar R. En fin, que los gráficos se hacen con R, no hace falta dar tantos rodeos. El motor gráfico de WPS no me gusta mucho, hasta en eso se parece a SAS.

Por último, aunque no suelo utilizar el blog de forma comercial quiero dar un giro (tengo que dar de comer a tanto niño). Por ello si hay alguna organización interesada en mis servicios y recibir esta formación a medida en lenguaje SAS con WPS puede contactar conmigo en rvaquerizo@analisisydecision.es Por otro lado si deseáis recibir más información sobre WPS también podéis utilizar la misma vía. De momento, en España, sólo he detectado interés por este software en dos aseguradoras, una muy muy grande y otra muy pequeña; así que si leéis esto no tengáis ningún reparo en contactar conmigo. Sin ningún compromiso concertamos una reunión y portátil en ristre analizamos cuánto podéis ahorrar haciendo lo mismo. Y ese ahorro se puede invertir en consultoría… Y no sigo porque me sale el colmillo de consultor, que he vuelto a afilar en estos últimos tiempos.

Saludos y espero que os guste el curso.

WPS en el mercado español

¿Puede funcionar WPS en España? Hoy 3 de los más eficientes gestores de la información que hay en España, bueno, en realidad 2 de los mejores y yo nos hemos hecho esta pregunta en la comida. Los tres conocemos WPS y hemos “trabajado” con el software. Trabajado va entrecomillado porque aun no lo hemos empleado en ningún entorno concreto, más bien nos hemos instalado el software, hemos jugado con él, hemos realizado algunos programas, hemos movido algunos GB y la conclusión a la que hemos llegado es: “Hace lo mismo que SAS y costaría muy poco migrar”. Entonces surgió la pregunta ¿Puede funcionar WPS en España?

La respuesta a esta pregunta no es muy sencilla. Todos os podéis imaginar que en último término voy a finalizar con SI. Sin embargo a la hora de migrar de software tenemos que tener en cuenta 3 aspectos:

  • Formación
  • Migración de código
  • Soporte

Formación: WPS es un clon de SAS. Tiene un interfaz muy sencillo y podemos hacer exactamente lo mismo que hacemos con SAS. El periodo de aprendizaje será mínimo. Luego mi gasto en este aspecto es 0, no impacta nada en mi entorno de trabajo. Sé programar en SAS sé WPS.
Migración de código: Los mismos argumentos que antes y además la posibilidad de leer y escribir tablas SAS. Esto tiene su importancia, ya que, si trabajamos con herramientas basadas en SAS, como pueda ser Pretium, no es necesario prescindir de ellas.
Soporte: Aquí es donde entramos nosotros. Se crea un equipo de soporte y optimización de procesos formado por algunos de los mejores y yo. El ahorro en software se traduce en la posibilidad de contratar un soporte que nos permite mejorar y optimizar nuestros procesos habituales. Con esto un equipo de trabajo no “pierde el tiempo” en hacer queries o informes insustanciales, esa parte la podemos delegar en el equipo de soporte que está migrando  nuestros procesos SAS aWPS.
Puede parecer un poco arriesgado, pero le damos vueltas y más vueltas y hay mercado. Además, desde el punto de vista del cliente no hay que prescindir de SAS ni exponer gran cantidad de presupuesto. A grandes rasgos, si nos ahorramos 6.000 euros en software podemos gastarnos 4.000 en soporte de WPS. Este soporte incluye optimizar nuestro trabajo diario. Yo como cliente no expongo presupuesto y tengo una consultoría de procesos de muy alto nivel que me permitirá ganar eficiencia en mi trabajo diario.

La respuesta va a ser SI. Por ello si estáis interesados en conocer el software ya sabéis comunicad conmigo en rvaquerizo@analisisydecision.es Os mantendremos informados.

Life Time Value. Los costes de adquisición ideales e irreales

Me acabo de leer este mensaje sobre lo que aporta el Life Time Value. Y me parece demasiado “ideal” en la adquisición de clientes:

http://www.kaushik.net/avinash/2010/04/analytics-tip-calculate-ltv-customer-lifetime-value.html

Precisamente porque el calculo del LTV no duplica los costes de adquisición. Esta frase: You’ll do most of this type of analysis via your ERP / customer data storage system / financial data warehouse Lleva detras una serie de gastos que
NUNCA estan bien calculados. Además los clientes valiosos son los mismos para todos y todos lo saben y captarlos implica menor beneficio. No se tienen en cuenta muchos detalles.