Fechas en Qlikview y dolores de cabeza

CalendarioSi hay algo que odio en cualquier lenguaje de programación es el manejo de fechas… y Qlikview no es una excepción. Con esto hay que tener mucho cuidado y no solo por la diferencia entre las fechas americanas (‘MM/DD/AAAA’) y las europeas (‘DD/MM/AAAA’), y menos mal que la japonesa no está muy extendida. También hay quien las separa con “/”, “-“, “.” o cualquier signo que se le pase por la cabeza.

Es por ello que cuando leo una fecha, lo primero que hago es pasarla a número con la función de Qlik “Num” y si no me interesa guardarme la hora, utilizo también la función “Floor” y así ya puedo hacer las comparaciones cómodamente, es mucho más fácil comparar números y no abreviaturas (“ene”, “feb”, …) también cuando se hace un Set Analysis es más fácil hacer por ejemplo un ‘Mes={“<3”}‘ que un menor que marzo, de hecho más de una vez no me ha funcionado.

Pues eso, para dejarme de rollos, paso todas las fechas a números y luego me creo un calendario maestro si quiero luego mostrar en los objetos agrupaciones de fechas (meses, trimestres, semestres) o formatos distintos (01/01/2017, 01/ene/2017) o incluso sólo meses (ene, 01, 201701)

Aquí teneis el código de generación de un “Master Calendar”, luego basta con adaptarlo un poco a nuestro gusto.

Yo suelo ponerme todos los meses en número (1, 2, 3, … ), AñoMes en número (201701) aunque a este mes si que le añado el cero delante para que siempre sea de seis cifras el número, etc…

Tags:

QlikCloud

Como he comentado antes, me dedico al tema de BI, y en la empresa utilizamos los productos de Qlik, sobre todo QlikView.

Hace unos años, que en casa utilizo un Mac Mini, lo cual me impide utilizar Qlik ya que sólo tiene versión Windows, con lo que muchas cosas que me gustaría probar y que no tengo tiempo de hacerlo en el trabajo no puedo hacerlas en casa. Si, podría hacerme un bootcamp e instalarme windows o una máquina virtual con windows, pero… ¿entonces para que quiero un Mac?

Tengo también un mini servidor con Windows 2012 que lo utilizo más que nada como NAS y para algunas cosillas de desarrollo web, pero Qlik detecta que es un servidor y no puedo instalar la versión de escritorio.

Para hacer alguna cosilla he utilizado Tableau, pero sólo se puede utilizar durante dos semanas de forma gratuita por lo que aunque tenga buena pinta no lo he podido probar a fondo.

Qlik ha sacado hace un tiempo QlikSense Cloud, y dentro de las limitaciones que tiene la versión gratuita, la verdad es que no está nada mal para hacer algunas pruebecitas. Vale la pena echarle un ojo para ver lo que se puede llegar a hacer.

 

Tags: , , , , ,

Propósito para 2017

Después de casi 1.000 días (943 exáctamente), aquí estoy de nuevo.

Como uno de los propósitos de este 2017 tengo el resucitar este blog, tanto en contenido como en continente, espero escribir por lo menos una entrada a la semana y cambiar esta polvorienta plantilla por una mas acorde a los tiempos que corren.

Plantilla antigua WordPress "Tomando Apuntes"

Plantilla antigua WordPress “Tomando Apuntes”

Mi idea es centrarme en temas de BI (Qlikview / QlikSense mayoritariamente) pero tocando temas de programación de vez en cuando.

En fin a ver que tal se me da este propósito.

Feliz 2017!!

Tags:

Pildoras de “sabidurida” (XCode)

Hay veces que desde nuestra aplicación iOS queremos interactuar con otras aplicaciones instaladas en el terminal. En esta píldora vamos a ver lo fácil que es añadir una entrada al calendario iOS.

Como dicen en la tele, siguiendo estos pasos, es fácil y sencillo.

#import <EventKit/EventKit.h>

EKEventStore *bdEventos= [[EKEventStore alloc] init];
[bdEventosrequestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
    if (!granted) { return; }
    EKEvent *evento = [EKEvent eventWithEventStore:store];
    evento .title = [NSString stringWithFormat:@"Titulo del evento"];
    evento .startDate = [NSDate date];
    evento .endDate = [[NSDate date] dateByAddingTimeInterval:60*90];
    [evento setCalendar:[store defaultCalendarForNewEvents]];
    NSError *err = nil;
    [bdEventos saveEvent:evento  span:EKSpanThisEvent commit:YES error:&err];
    NSString *idEvento = evento.eventIdentifier;
}];

Y con esto podemos añadir las citas que queramos al calendario de nuestro iPhone/iPad.

Tags:

Estadísticas de tus apps iOS

Flurry-logo

A veces es necesario obtener unas estadísticas más exhaustivas de las que la herramienta de desarrolladores de Apple ofrece.

Buscando una alternativa encontré Flurry, aunque supongo que habrán muchas más. Esta herramienta tiene varias secciones, como son la de Publishers, Advertisers, Applications, pero nos vamos a centrar en esta última.

Lo que tiene de bueno esta herramienta es la gran cantidad de información que ofrece, nuevos usuarios, sesiones iniciadas, duración de la sesión…

image

Por ejemplo aquí se pueden ver todos los dispositivos que se han bajado la aplicación, junto a las sesiones que se han iniciado en cada uno, el porcentaje de retorno, es decir, la gente que ha abierto la aplicación más de una vez, el porcentaje de retención desde el día de la instalación. Por ejemplo en la gráfica de abajo se puede ver que la mitad de la gente que se instaló la aplicación, al día siguiente ya no la tenía Triste

image

Usuarios comunes entre tus aplicaciones, cuantos usuarios que tienen instalada una aplicación también tienen otra…

Por sexo, paises, idioma, edad…

image

Incluso eventos programados, puedes definir tus propios eventos para que se reflejen en la estadística….

En fin, una muy buena herramienta si quieres tener todos estos datos que normalmente son muy útiles para ver “hacia donde van los tiros”

http://www.flurry.com

Tags: , ,

Reveal App

icon-large

Esta herramienta ha sido mi último descubrimiento para el diseño de aplicaciones iOS.

Se trata de una herramienta para modificar la maquetación de las aplicaciones que estés desarrollando “en vivo”, es decir puedes ver la aplicación tanto en el simulador, como en un teléfono (mientras esté en la misma red) y desde el programa ir modificando la maquetación y ver el resultado.

Muchas veces me había pasado que no maquetaba correctamente una cosa y perdía mucho tiempo con el método de “ensayo y error”, con esta aplicación se ahorra muchísimo tiempo al hacerlo “en el aire”.

Se deben instalar unas librerías en el proyecto, que en la misma web te indican los pasos a seguir, aunque tuve un pequeño problema al instalarlas, siguiendo estos sabios consejos (http://support.revealapp.com/discussions/questions/6-error-compiling-with-reveal) pude poner en funcionamiento la herramienta.

Tags: , , ,

Píldoras de “sabidurida” (Qlikview)

Empezamos la reapertura del blog con una chorradilla de Qlikview, con esto se pueden ocultar pestañas de un documento según el usuario lo visite.

 

Sin título

En las propiedades, en la sección de “Mostrar Hoja” hay que seleccionar “Condicional” y escribir la siguiente fórmula:

MixMatch(OSUser(), ‘Dominio\usuario1’, ‘Dominio\usuario2’, ….)

Y podremos poner todos los usuarios que necesitemos.

Útil cuando dentro de un mismo documento se quieren tener partes “mas privadas” o incluso una especie de “back stage” para depuración de los documentos.

Tags: , ,

Ahora si?

Bueno, ya he batido el récord! más de un año y medio sin publicar nada en el blog…. pero esto va a cambiar, (de momento publico esto, luego ya veremos ;))

Tengo la intención de retomar el blog, hablando de Python, Xcode, Grails, Qlikview… y todas estas cosillas en las que últimamente estoy ocupado.

Así que oficialmente… queda re-inaugurado el blog!

011813-Champagne-600

Tags:

Arduino

arduino_logoHace un tiempo se me ocurrió un proyecto para hacer con un microcontrolador, y viendo posibilidades y ante la fama de este decidí comprarme un Arduino UNO.

Se trata de de un microcontrolador con una placa, lo que hace que empezar a hacer “cosillas” sea muy fácil ya que se pueden “pinchar” sensores casi directamente sobre ella. Además, viene con un entorno de programación preparado para hacer el comienzo muy sencillo (se programa en C).

Dispone de entradas/salidas digitales y de entradas analógicas.

A nivel de hardware existen una multitud de “shields” que se acoplan a la placa básica y que se componen de GPS, GSM, acelerómetros, giroscopios, bluetooth, etc…

Posteriormente me compré una protoboard y un “kit de iniciación” con sensores, cables, resistencias, diodos, etc…

La curva de aprendizaje es muy “empinada” y en poco tiempo se pueden hacer cosas ya decentes, sobre todo gracias a la gran comunidad de usuarios y las bibliotecas que se desarrollan para cualquier cosa.

Que recuerdos de mis clases de “Laboratorio de Sistemas Electrónicos Digitales”!!

Tags: , ,

Intentando salvar el blog

sos1

 

El otro día cuando pensé en “reactivar” el blog, se me ocurrió actualizar un plugin (jetpack), la cual cosa provocó que me cargara el sistema de administración del blog y, como suele ser costumbre, no tenía copia de seguridad.

Podría haber seguido publicando, ya que para escribir utilizo Windows Live Writer.

 

 

 

 

Fatal error: Out of memory (allocated 29622272) (tried to allocate 19456 bytes) in xxxxxxxx/xxxxxxxx/xxxxxx/Blog/wp-admin/includes/menu.php on line 38

Para intentar arreglarlo me he hecho una copia de la base de datos y una del directorio wp-content, me he bajado la última versión del wordpress, tal y como había encontrado por ahí, pero seguía sin funcionar.

El segundo intento ha sido conectarme vía FTP y borrar el directorio del plugin que está dentro de wp-content/plugins y ha funcionado!!! (estaba haciendo pruebas mientras escribía la entrada)

Así que habrá que predicar con el ejemplo y hacer eso de que hablaba en No-backup. y buscar una manera sencilla de hacer las copias de seguridad de wordpress

Tags: , , ,