Trucos Excel. Múltiples campos calculados en una tabla dinámica

Truco de Excel muy rápido que os permite crear múltiples campos calculados en una tabla dinámica. Imaginemos que tenemos una tabla dinámica con un campo que es la suma de la exposición al riesgo y, por otro lado, tenemos el número de siniestros. Estos dos campos los tenemos para 30 coberturas. Si queremos crear un campo calculado que sea la frecuencia siniestral (número de siniestros / exposición) para esos 30 campos, tenemos que irnos a herramientas de tabla dinámica, fórmulas, definir el nuevo campo… O bien podemos emplear la siguiente macro: ...

12 de mayo de 2011 · rvaquerizo

Trucos Excel. Transponer con la función DESREF

Este blog ya contó cómo trasponer filas a columnas con la función INDIRECTO. Recientemente tuve que explicar ese proceso a una persona y parece que le costó; sin embargo, entendió a la perfección el uso de la función DESREF (a la que ya hicimos mención en una entrada reciente) y por ello me he animado a crear esta entrada. En este enlace podéis descargar un Excel 2007 que contiene el siguiente ejemplo: ...

30 de abril de 2011 · rvaquerizo

Los 10 errores y warnings más habituales en SAS

En función de los contactos con SAS support han elaborado un ranking de errores y warnings reportados a SAS con respecto al paso DATA. En este enlace tenéis el ranking; a los comentarios de Kim Wilson podéis añadir los míos. Veamos uno por uno esos errores: ERROR: AN INTERNAL ERROR HAS OCCURRED WHILE READING A COMPRESSED FILE. PLEASE CALL YOUR SAS SITE REPRESENTATIVE AND REPORT THE FOLLOWING… Tenéis que reparar el dataset como indica Kim, pero mucho ojo con mover datasets entre servidores o con trabajar con distintas versiones de SAS. ERROR: ARRAY SUBSCRIPT OUT OF RANGE AT LINE N AND COLUMN N Nos hemos ido de rango en el ARRAY; sucede cuando recorremos los arrays con un bucle DO y el índice del bucle es mayor que el tamaño del array. Para evitarnos líos podemos hacer ARRAY AR(*) ; DO i = 1 TO DIM(AR);. Que no se lleve nadie las manos a la cabeza. ERROR: THE FORMAT $NAME WAS NOT FOUND OR COULD NOT BE LOADED Llamamos a un formato que no existe, muy habitual en input o put. NOTE: THE MEANING OF AN IDENTIFIER AFTER A QUOTED STRING MAY CHANGE IN A FUTURE SAS RELEASE. INSERTING WHITE SPACE BETWEEN A QUOTED STRING AND THE SUCCEEDING IDENTIFIER IS RECOMMENDED. Esto no pasa… NOTE: INVALID ARGUMENT TO FUNCTION INPUT AT LINE N COLUMN N En ocasiones el formato que ponemos en input es incorrecto y se produce este error, habitual cuando trabajamos con fechas. NOTE: MERGE STATEMENT HAS MORE THAN ONE DATA SET WITH REPEATS OF BY VALUES Cuando hacemos un merge, si uno de los conjuntos de datos tiene observaciones duplicadas por la variable que ponemos en BY obtenemos este WARNING. Cuando cruzamos tablas SAS hemos de tener mucho cuidado con las observaciones duplicadas. NOTE: SAS WENT TO A NEW LINE WHEN INPUT STATEMENT REACHED PAST THE END OF A LINE No es muy habitual este error. Tenemos que realizar lo que nos dice Kim. La opción FLOWOVER no la he empleado nunca; en este link tenéis ejemplos de esta problemática. NOTE: INVALID DATA FOR VARIABLE-NAME AT LINE N Si definimos una variable de un tipo no podemos emplear datos de otro tipo, es decir, si la variable es numérica no la igualéis a un carácter y viceversa. Tenedlo en cuenta. WARNING: THE QUOTED STRING CURRENTLY BEING PROCESSED HAS BECOME MORE THAN 262 CHARACTERS LONG. YOU MAY HAVE UNBALANCED QUOTATION MARKS. Otro problema poco habitual, seguid haciendo caso a Kim. WARNING: MULTIPLE LENGTHS WERE SPECIFIED FOR THE VARAIBLE VARIABLE-NAME BY INPUT DATA SET(S). THIS MAY CAUSE TRUNCATION OF DATA. Este warning es muy típico cuando realizamos merge con variables alfanuméricas. Imaginemos que un dataset tiene la variable póliza definida como 10. y otro tiene la variable póliza definida como 12.; si realizamos un merge por esa variable obtendremos este WARNING. Estos son los errores que más aparecen en SAS SUPPORT. En mi opinión hay algunos que no son habituales pero hay algunos que son dudas recurrentes que me llegan. Al final lo que siempre plantea problemas son los formatos y las fechas en SAS; el 80% de las dudas que me llegan van por ahí. Espero complementar el mensaje de SAS.

23 de abril de 2011 · rvaquerizo

Lecciones de economía de un ignorante. Poniendo fecha a la intervención de España

España no es Grecia, España no es Irlanda: expertos opinan y, por supuesto, España no es como Portugal. En realidad, España es como las tres anteriores juntas y va a ser intervenida por el BCE, a no ser que se volviera a la peseta. Los motivos son los de siempre, pero me gustaría destacar el problema del endeudamiento: Éste análisis pone los pelos de punta. El gasto público disparado y el gasto privado disparado; ésto es culpa de un modelo de Estado que no se sostiene (desde los tiempos de Solchaga) y de un modelo de crecimiento demasiado arriesgado (desde los tiempos de Rato). El lío no sólo se debe a una burbuja; yo creo que es una falta de rigor técnico y que va a llevar a la intervención de España. Un amigo mío decía: “si le debes 5.000 euros al banco tienes un problema; si le debes 300.000, el problema lo tiene el banco”. Si cae España, cae un modelo económico. No cae un modelo político, porque ése nunca ha llegado a funcionar. ...

21 de abril de 2011 · rvaquerizo

Trucos Excel. Repetir filas o columnas con la función DESREF

La función DESREF va a ser la protagonista de dos trucos de Excel. Vamos a repetir filas o columnas con esta función. En nuestro caso, la función va a devolver el valor de una celda referenciada del modo: DESREF(<Celda inicial anclada>; <Filas por debajo de la referenciada>; <Columnas a la derecha de la fila referenciada>). Para nuestro caso, el funcionamiento de la función DESREF será: ...

21 de abril de 2011 · rvaquerizo

Lectura de ficheros SAS7BDAT de SAS directamente con R

Un post de BIOSTATMATT que nos conduce a un código in R que nos permite leer datasets de SAS directamente con R sin necesidad de tener SAS. Un problema recurrente que abordaré con más detenimiento otro día [ahora me voy a pescar]. Aquí tenéis el enlace: http://biostatmatt.com/archives/1216 Solo tenéis que cargar la función read.sas7bdat que tenéis in este enlace. Y ya podéis leer conjuntos de datos SAS. Ejemplo: source("http://biostatmatt.com/R/sas7bdat.R") datos <- read.sas7bdat("D:\\raul\\Trabajo\\salida\\p03.sas7bdat") De momento lo he probado in conjuntos de datos SAS sin índices y sin comprimir; si encuentro algún problema, primero se lo reporto a la gente que ha creado esta función y más tarde os lo comento. Saludos.

19 de abril de 2011 · rvaquerizo

Trucos Excel. Poner etiquetas en gráficos de dispersión

Una macro de Visual Basic muy sencilla es la única forma de etiquetar gráficos de dispersión que me he encontrado. Si alguien encuentra otro modo más sencillo de hacerlo, que lo comente en estas líneas. La intención es llegar a este gráfico: No es que sea un gran gráfico (recordad que está hecho en Excel), pero nos permite ver cómo se distribuyen los países en función de la renta per cápita y el número de horas trabajadas al año. Además podemos identificarlos perfectamente, como es el caso de Luxemburgo, como siempre. ...

11 de abril de 2011 · rvaquerizo

Trucos SAS. Validación de consultas con PROC SQL

Hay ocasiones en las que lanzamos consultas a las BBDD con SAS y necesitamos saber si son correctas. Quería plantearos un truco SAS para PROC SQL que valida las consultas antes de ser ejecutadas. Empiezo el truco en la línea habitual: creo un dataset de ejemplo y os presento cómo realizar la validación; de este modo, vosotros podéis copiar y pegar el código en una sesión de SAS y comprobar su funcionamiento. Datos aleatorios de partida: ...

6 de abril de 2011 · rvaquerizo

Comienza la cuenta atrás. III Jornadas de usuarios de R

Por fin están en marcha las III Jornadas de Usuarios de R de España. En este enlace tenéis toda la información disponible. Para esta tercera edición hay que destacar: Serán en Madrid, en la Escuela de Organización Industrial. Habrá talleres; bajo mi punto de vista, uno de los mayores aciertos. Podéis participar: R tiene que salir del ámbito universitario e investigador y pasar al ámbito empresarial. Muchos podéis pensar que yo debería aplicarme el cuento… Necesitan patrocinio. No sólo por temas económicos, también por la repercusión que implica el patrocinio. Todos aquellos que trabajáis en grandes organizaciones podéis poner en contacto al comité organizador con vuestras empresas. También podréis realizar aportaciones voluntarias, ya que la asistencia es completamente gratuita. Creo que es el punto en el que este foro alcanza su madurez y es el momento de que el mundo empresarial fije sus ojos en R y en la comunidad de usuarios que tiene detrás. Y, sobre todo y más importante: podéis conocerme en persona; por muchos asistentes que haya, a mí se me ve, y no sólo por el Windows 7. Creo que los ingredientes para estas nuevas jornadas garantizan el éxito. ¡Nos vemos en noviembre! Saludos.

4 de abril de 2011 · rvaquerizo

Trucos R. Gráficos de velocímetro con R

Hoy toca homenaje a dos lectores del blog. Es la primera versión de un gráfico en forma de velocímetro con R. Cuando disponga de más tiempo, modificaré la versión para darle mayor vistosidad. Como es habitual, el truco nos servirá para trabajar con un interesante paquete de R como RColorBrewer. Un paquete que me descubrió un lector. El resultado final no es muy espectacular (de momento): Veamos el código R que representa el semicírculo y posteriormente lo analizaremos. Me gustaría que también lo ejecutaseis vosotros para comentarme posibles incidencias. Se genera el gráfico como .png en C:\temp: ...

20 de marzo de 2011 · rvaquerizo