Trabajar para un adicto al trabajo: 10 consejos para recuperar el equilibrio entre tu vida laboral y personal

Trabajar para un adicto al trabajo: 10 consejos para recuperar el equilibrio entre tu vida laboral y personal
Infografía ofrecida por Wrike – Gestión De Proyectos Software

Sin Comentarios

Optimización Qlikview Server

Cada vez que un módulo es abierto por primera vez el servidor carga en RAM el contenido del modelo de datos. En el momento que ese usuario hace selecciones, los cálculos y gráficos resultantes se van almacenando en la RAM del servidor, de manera que estos cálculos se pueden compartir entre todos los usuarios, agilizando futuras consultas. Mientras tanto, QlikView va almacenando el estado de la sesión actual para cada usuario.

La vida de la caché se gestiona desde el Qlikview Manager Console (QMC) configurando el working set con dos parámetros:

  • LOW: memoria RAM mínima que puede utilizar QV (no quiere decir que la reserve, es el máximo de memoria a partir del cual debe limpiar caché y purgar sesiones para liberar espacio).
  • HIGH: máximo RAM disponible para QV en caso de que sea necesario.

Optimización servidor qlikview

Cuando el consumo de RAM alcanza el valor indicado en el LOW (en nuestro caso, el 50% de la RAM disponible), se limpia la caché y se purgan sesiones. Pero si esto no es suficiente, QV puede utilizar hasta el 70% de la RAM del servidor o bien puede usar el disco como Memoria Virtual (según criterios internos de QV). Si de nuevo fuese necesaria más memoria, QV está obligado a utilizar el disco como Memoria Virtual. El rendimiento de este tipo de memoria es mucho peor que la RAM.

Una solución paliativa para optimizar el rendimiento en los picos de consumo sería subir el parámetro HIGH al 90% y NO ejecutar ninguna aplicación dentro del servidor, es decir, no abrir ni recargar módulos desde QV Desktop. Cuando finalice el valle, se recupera la configuración original.

Buenas prácticas en la configuración de Qlikview Server

  1. Incrementar recursos de hardware: ampliar memoria RAM o Cores.
  2. Limitar cantidad de sesiones concurrentes permitidas: Normalmente no se limita para evitar problemas de acceso. Si fuera necesario, se puede limitar en paralelo a asignar un timeout bajo para liberar rápidamente las sesiones en desuso.
  3. Desarrollar aplicaciones para un correcto uso de memoria: implicaría revisar scripts (tablas sintéticas, bucles, expresiones complejas, set analysis, etc) y rediseñar aplicaciones con menor número de objetos, macros, acciones y lógica en general.
  4. Reducir la cantidad de tareas programadas en el servidor: En caso de que haya tareas programadas en Qlikview Server (Publisher). Otra opción es realizar las cargas en horas de bajo consumo (madrugada).
  5. Limitar el desarrollo de aplicaciones en el servidor: desarrollar y recargar módulos en otra máquina y luego copiarlos al servidor. Lo ideal sería trabajar en un entorno de desarrollo y explotar la información desde un servidor operacional.
  6. Liberar recursos deshabilitando otras aplicaciones: en el caso de que se ejecuten otras aplicaciones en la misma máquina.

 

Buenas prácticas en diseño de modelo de datos en Qlikview

Qlikview puede analizar múltiples orígenes de datos pero la forma más eficiente es con un modelo de datos de Estrella o Copo de nieve.

Normalmente los esquemas de Estrella son la mejor solución, pero en muchas situaciones necesitaremos varias tablas de hechos. La forma correcta de conectarlas es mediante tablas de enlace para evitar claves sintéticas y loops. Se puede abordar de tres formas diferentes:

Qlikview modelo de datos

  1. CONCATENATE

Una opción es concatenar dos tablas de hechos, ya sea de forma física mediante la sentencia CONCATENATE o de forma lógica utilizando los nombres de los campos (por ejemplo, CAMPO1_A y CAMPO1_B).

En el caso de dos tablas de hechos A y B, el número de registros de la nueva tabla será la suma de los registros de ambas. Las métricas de la tabla A que no estén en B estarán a NULL y viceversa.

Los nombres de los campos deben ser exactamente los mismos (podemos renombrarlos con AS). La tabla que manda será siempre la que se cargue primero (antes del CONCATENATE).

Cuando se concatenan dos tablas, es necesario crear una referencia manual para identificar el tipo u origen de los datos, por ejemplo “Tipo”.

 

  1. ÚNICA TABLA DE HECHOS

Si es posible, otra solución es fabricar una única tabla de hechos a nivel de SQL o Script.

 

  1. TABLA DE ENLACE CENTRAL

Es la forma habitual de romper las claves sintéticas. Se crean campos de enlace entre las tablas de hecho y las maestras/lookup mediante alias de campos.

Sin Comentarios

Centroides y shapefiles de municipios de España para mapas

Actualmente estamos trabajando en un proyecto de QlikSense utilizando la extensión QlikMaps para representar en capas de un mapa indicadores sobre áreas geográficas. Para visualizar la información es necesario tener correctamente parametrizadas las coordenadas y contornos de todas las áreas geográficas que se vayan a utilizar. Los centroides y contornos de Comunidades autónomas y provincias se pueden encontrar de forma relativamente sencilla, pero para las poblaciones o municipios no hay absolutamente nada.

Shapefiles municipios españa

Desde el portal GADM podemos descargar una base de datos shapefile con las coordenadas de los contornos de todos los municipios de España, con el inconveniente de que es una BD antigua. Hasta donde hemos podido confirmar, es anterior al 2008, ya que hay pueblos que han cambiado de nombre o se han segregado de otros más grandes y aparecen unidos aun.

Para cargar los datos en QlikSense importamos los ficheros .shp a QGIS y generamos un .kml. Sin embargo, comprobamos que al cargar las áreas delimitadas por pares de coordenadas QlikSense no es capaz de correr con agilidad. Como solución, la extensión de mapas además de pintar un polígono por coordenadas, puede utilizar un código polyline. Para convertir las coordenadas a polylines utilizamos una librería gratuita de PHP, convertimos el KML a un XML más sencillo y generamos los códigos comprimidos. Podéis descargar el conversor en PHP desde aquí (nosotros los lanzamos en local utilizando un WAMP). Para validar que los polylines son correctos podéis utilizar esta herramienta de Google Utilidad codificadora de polilínea interactiva. Simplemente copiáis el código y la decodificáis. En caso de que una región tenga varios polígonos (por ejemplo la parte de Burgos dentro de Álava), para que QlikMaps lo pinte correctamente juntaremos los dos polylines con un “<br>” en medio (importante que vaya en minúsculas).

Como la BD de GADM no está actualizada, de los 8125 municipios de España no hemos conseguido los polígonos de 17 de ellos (un 99,76%). Los códigos de provincia y municipio están cruzados con las tablas del INE. Podéis descargar los ficheros con centroides y shapelines de España desde aquí:

Descargar Centroides y shapefiles de España
Comunidades autónomas <1MB
Provincias <1MB
Municipios (99,76% completo) 2MB
Códigos postales 2.4MB
Últ. actualización Nov-2017

Por ejemplo, el polígono que define el área de Alcorcón (Madrid) es el siguiente chorro de pares coordenadas:

-3.80271911621095,40.3633918762208,0 -3.80690407752991,40.3666038513184,0 -3.81053400039672,40.3639030456543,0 -3.81314897537232,40.3697967529298,0 -3.83468604087824,40.3961296081543,0 -3.83030104637146,40.4016304016113,0 -3.83774304389953,40.4031066894531,0 -3.8458130359649,40.3907318115234,0 -3.86770701408381,40.3780097961426,0 -3.8665120601654,40.3739585876466,0 -3.87787795066835,40.3730964660645,0 -3.87884902954102,40.3697280883789,0 -3.87064909934998,40.358684539795,0 -3.87086296081542,40.3532257080079,0 -3.86765193939208,40.3535194396974,0 -3.86675405502319,40.3468856811524,0 -3.85911393165589,40.3434371948243,0 -3.85418391227712,40.3305435180665,0 -3.84749698638917,40.3258628845216,0 -3.84681797027589,40.3241500854492,0 -3.8385949134826,40.3245315551758,0 -3.817715883255,40.3276824951173,0 -3.81699991226197,40.3307342529298,0 -3.79979109764098,40.3427543640137,0 -3.8047161102295,40.3530426025392,0 -3.79892897605896,40.3566513061524,0 -3.78781390190125,40.3587532043457,0 -3.80271911621095,40.3633918762208,0

Que podemos reemplazar por una elegante línea polyline:

enjuF~ueVaSbYzOtUyc@hOqcDreCka@kZgHnm@hlAlq@nnAxgChXmFjD`
fA`T`E~cAgr@ba@h@y@aSlh@sDpTwn@poAy]f\yh@tIgCkAkr@uRoaCaR
oCcjAqjBi_Ax]qUec@cLodA_\d|A

En el mapa quedaría de la siguiente forma:

Centroides y shapelines de municipios de España para mapas

Sin Comentarios

9 estrategias para que tus reuniones sean muy eficaces

9 estrategias para que tus reuniones sean muy eficaces
Infografía ofrecida por Wrike – Gestor Proyectos Online

Sin Comentarios

Qlikview QlikBot, llegan los chat bots al universo BI

En la compañía para la que trabajo utilizamos varias herramientas BI (Business Intelligence) o de reporting para distribuir y explotar la información en la organización. Una de ellas es Qlikview, del fabricante sueco Qlik. En el último cuadrante mágico de Gartner 2017 observamos como es una de las tres empresas líderes en el sector por detrás de Microsoft con su PowerBI y Tableau.

Gartner BI 2017

La propia empresa describe Qlikview como una plataforma de Business Discovery enfocada fundamentalmente al autoservicio para todo tipo de usuario (sin considerar su nivel técnico). Qlikview permite formular y responder nuestras propias preguntas jugando con los datos, dimensiones e indicadores. Cabe mencionar que esta descripción es la tendencia actual de las herramientas BI, alejadas de la metodología tradicional de generar informes precocinados y rígidos. Qlikview ha apostado en esta línea con Qlik Sense, un producto enfocado directamente al autoservicio. La competencia tiene su propia versión, como MicroStrategy Visual Insight. Al ser la tendencia actual, todas las tecnologías y proyectos que están surgiendo van enfocados a hacer uso de este tipo de plataformas. El objetivo es que los usuarios finales, normalmente de “negocio”, cocinen por sí mismos los datos, por lo que estas nuevas plataformas son muy intuitivas y sencillas de usar.

Con Qlik Sense o MicroStrategy Visual Insight cualquier usuario puede cargar sus propios datos y construir modelos e informes sin tener conocimientos técnicos. Generar dimensiones o métricas es tan sencillo como cargar un Excel o conectarnos a cualquier repositorio de datos (MS Access, SQL Server, Oracle, MySQL, fichero de texto plano…). En su afán por facilitar el acceso a la información, recientemente Qlikview ha apadrinado un proyecto (aun no es producto) ideado por uno de sus ingenieros: un Chat Bot.

Los Chat Bots están poniéndose de moda, especialmente como “asistentes virtuales” en entornos online. Por ejemplo, en tiendas ecommerces podemos encontrar un pequeño chat para consultas donde un Chat Bot actuaría como asistente de primer nivel para intentar resolver dudas de los usuarios. Es una tecnología que llevamos años utilizando en los call centers.

En la pasada convención anual de Qlik en Orlando se presentó el proyecto QlikBot por su creador (por cierto, es español). Insisten en que NO es un producto y como tal no se vende, es un concepto que utiliza varias APIs de lenguaje natural, narrativa, herramientas de mensajería  y Qlik Sense para reducir al mínimo el esfuerzo de explotación de la información. Lo que permite es un paso de gigante para ofrecer datos a usuarios finales. A través de una herramienta de mensajería instantánea como Telegram, Line, Skype, etc. enviaríamos mensajes de voz solicitando información, la lógica interna traduciría estos mensajes a comandos interpretables por Qlik Sense, que devolvería indicadores, gráficos o incluso acceso a informes precocinados. El alcance es infinito, el creador utiliza por ejemplo generadores de alertas o conexión a repositorios de noticias. Os dejo un video para que veáis un caso práctico:

Actualmente en la compañía para la que trabajo estamos inmersos en un prototipo de este concepto, donde lo más complicado sería crear o implementar el pegamento que une todas las APIs. Os puedo adelantar que muchas de éstas tienen licencias gratuitas, como Google API.AI para reconocimiento de lenguaje natural (importante, tiene un buen repositorio de español peninsular), Yseop Savvy como motor de narrativa (para generar los mensajes que enviaría el bot) o el API de Telegram para crear chat bots.

Sin Comentarios

SEO Hero, concurso de optimización para buscadores

Si quieres ganar 50.000 dólares y eres un apasionado del SEO, aun estás a tiempo de participar en un concurso que organiza WIX. Podremos utilizar cualquier plataforma o software para generar nuestro proyecto y optimizarlo para indexarlo en la mejor posición en Google por la palabra clave “SEO Hero“. Por cierto, el contenido de la web deberá estar en inglés, aquí puedes consultar las bases del concurso. Como condición, los dominios deberán tener una antigüedad máxima del 16 de Noviembre del año 2016, utilizar o recomprar un dominio añejo supondría la descalificación. Los ganadores se anunciarán el próximo 16 de Marzo.

Para amenizar el concurso han elaborado un interesante portal ambientado en super héroes: www.giftedseohero.com

Sin Comentarios