Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Quick Tips

No description
by

on 19 January 2016

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Quick Tips

Uso del Administrador de Tareas
Se debe utilizar como una herramienta adicional cuando se desarrolla y testea aplicaciones hechas en Qlikview.

Sirve para saber cuánto está trabajando el/los procesador/es de nuestra computadora mientras que usamos nuestra aplicación.

En caso de tener uno o más procesadores, sí un procesador está siendo usado casi al 100% y el resto con un porcentaje bajo, esto significa que tenemos sólo un hilo de ejecución en nuestra aplicación para realizar todos los cálculos de las selecciones hechas.

Cuando advertimos que la aplicación sólo está utilizando un hilo de ejecución y por ende consume mucho uso del procesador, lo que debemos hacer es
crear múltiples hilos de ejecución
. Esto hará que el uso del procesador sea menor, lo que provocará que nuestra aplicación funcione más rápido.

Entonces...

¿Cómo hacemos para reducir el uso del procesador?
Otro uso útil !
Debemos observar la pestaña de 'Procesos' del Administrador de Tareas para saber el consumo de memoria de nuestra aplicación al abrirla y al navegar por ella.
¿Cuánta memoria consume
nuestra aplicación?
Desde el Administrador de Tareas, finalizar todos los procesos de Qlikview. (qv.exe o qvs.exe)
Abrir Qlikview y reiniciar el servidor de Qlikview.
Abrir el archivo de nuestra aplicación.
Usar la aplicación por unos minutos...
Observar nuevamente los procesos de Qlikview en la pestaña de 'Procesos' del Administrador de tareas.
La sumatoria de la memoria utilizada por cada uno de los procesos de Qlikview que estén corriendo, nos ayudará a saber aproximadamente cuánta memoria RAM necesita nuestra aplicación para que funcione adecuadamente.
¿Para qué sirven las Propiedades
de Hoja?
Dentro de Qlikview ir a: Configuraciones -> Propiedades de Hoja -> Pestaña 'Objetos'.

Observar con atención las columnas: Tiempo de cálculo y Memoria:
Vista previa de Expresiones
Dentro de Qlikview ir a: Configuraciones -> Vista Previa de la Expresión.
¿Cómo podemos mejorar el rendimiento de la aplicación al usar un count (Distinct <fieldName>)?
Cada vez que realizamos una selección en la aplicación se disparan fases:
CONCLUSIÓN
Esta presentación fue una guía sencilla de tips que uno puede utilizar cuando desarrolla su Aplicación Qlikview con el fin de mejorar la performance y el uso de los recursos.
Espero que les sea útil!

Cualquier comentario o sugerencia escribir a:
agustin.leira@dataiq.com.ar
Quick Tips
Cómo usarlos en tu proyecto !
Uno
Múltiples
-->>
-->>
Mucho uso
Poco uso
-->>
-->>
Lenta
Rápida
Hilo
Procesador
Aplicación
Estos valores son relativos. Varían a medida que hacemos selecciones en nuestra aplicación y nos permite identificar los objetos que consumen mayores recursos.
by Agustín Leira / Data IQ
Sí bien podemos tener un Objeto para visualizar varias dimensiones y números, no se aconseja porque consume muchos recursos. Para identificar esto, utilizamos las
Propiedades de Hoja!
Aquí podremos:
Mirar todas las expresiones.
Buscar y modificar una expresión.
Exportar expresiones.
Ver la condición de una expresión.
Ver expresiones de gráficos y de color.
Filtra los datos de la selección realizada. (Múltiples Hilos)
Se encarga de traer el diseño de los objetos seleccionados. (Sólo un hilo)
Realiza el cálculo para cada uno de los objetos seleccionados. (Múltiples Hilos)
La expresión count (Distinct <fieldName>) se procesa con un solo hilo de ejecución y eso es bueno para el rendimiento de la aplicación, pero...
Pero los campos usados por esta función suelen estar en tablas distintas del modelo de datos, por lo cual, la complejidad de la expresión aumenta.
Solución:
La solución es "acortar la distancia" usada por los campos de las expresiones y de las dimensiones.
Sí los campos están en la misma tabla o en tablas cercanas, el cálculo de la expresión será más rápido.
El Modelo de Datos
¿Qué debemos tener en cuenta a la hora de diseñarlo?
La rapidez de la aplicación para que el usuario navegue con fluidez.
Tener pocas Fact Tables para realizar el cálculo de las expresiones, dadas que estas consumen muchos recursos.
No recorrer varias tablas para relacionar campos. Debemos intentar que los campos a relacionar estén lo más "cercano" posible.
Ver ejemplo ->
¿Qué diseño me conviene utilizar para consultar por el color y la patente de un auto?
Opción 1
Opción 2
Es convienente usar la Opción 2 porque los datos que voy a consultar los voy a buscar a la tabla de Autos, sin perder el tiempo de relacionar la tabla Auto con la tabla Color ni la tabla Auto con la tabla Patente.
Evitar las claves sintéticas y las referencias circulares.
¿Cómo configurar el servidor para
obtener un mejor rendimiento?
De acuerdo al modelo y al fabricador, estos nombres pueden ser diferentes en su servidor. Asegurese cuál es el nombre correspondiente en su servidor según el Manual de Instrucciones de éste.
Técnicas de Aislamiento
Para determinar sí los problemas de rendimiento de la aplicación están en el Modelo de Datos o en la Interfaz de Usuario, podemos cargar el archivo binario de la aplicación y ponerlo en un nuevo archivo .qvw, de esta forma sabremos sí los objetos funcionan mejor en el nuevo archivo creado que en nuestra aplicación.
Ver ejemplo ->
Lo que debemos hacer es en el script de nuestro nuevo archivo, llamado QKV1.qvw, cargar la sentencia Binary [ruta_del_archivo]; veamos un ejemplo a continuación.
Sí el rendimiento de esta aplicación es mejor respecto a la anterior, significa que tenemos un problema en el Modelo de Datos o en la Interaz de Usuario.
Una vez que hayamos cargado el archivo binario, debemos crear algunos cuadros de lista en el nuevo archivo. Al hacer algunos clicks podremos observar el rendimiento de la aplicación en nuestro nuevo archivo.
Siempre es conveniente tener abierto el Administrador de tareas para ver como varía el uso de la memoria RAM y del CPU.
Tips para distribuir las dimensiones en la aplicación!
Dividir la aplicación en dimensiones más pequeñas reducirá el uso de los recursos. Incluso sí es la misma cantidad de datos que se cargan en memoria.
Debemos analizar cuál será la dimensión más conveniente para dividir.
OJO ! No realizar demasiadas divisiones, puede ser ineficiente tanto para la Interfaz de Usuario como para el Modelo de Datos.
Por ejemplo, sí tenemos una dimensión con todas las facturas emitidas, podemos hacer sub-dimensiones, de acuerdo al tipo de factura siendo A, B o C.
¿Cómo utilizar el Optimizador de Qlikview?
Primero debemos generar un archivo .mem
¿Cómo generar un archivo de memoria?
Abrir tu proyecto de Qlikview.

Ir a Configuraciones -> Propiedades de Documento -> Pestaña 'General' -> Estadísticas de memoria

Guardar tu archivo de memoria .mem
Este archivo contendrá la misma información de análisis que vimos anteriormente para los Objetos, pero para todos los elementos de la aplicación.
Descargar la aplicación ¨Document Analyzer¨ para analizar el archivo de memoria guardado.
Link de descarga:
http://qlikviewcookbook.com/tools/
Esto nos permite saber dónde está la aplicación gastando mayor cantidad de recursos como uso de memoria RAM, tiempo de cálculo, tamaño de memoria, etc. Entonces, podremos saber qué es lo que tenemos que corregir para que nuestra aplicación aumente su rendimiento.
Tip para saber dónde realizar los cálculos!
Hecho en la Interfaz de Usuario, agregando una expresión para calcular el precio a los campos que tenemos.
Hecho en el editor de script. Agregamos un campo a la tabla de Venta_Productos que calcule el precio total por cada fla.
Opción
Opción
VS
La opción es la más recomendada porque consume menos recursos y hace que la aplicación funcione mejor. Esta diferencia con pocos datos será casi imperceptible, pero a medida que los datos que cargamos en la aplicación aumentan, esta diferencia se hará notar cada vez más.
Uso de las dimensiones calculadas
Es conveniente utilizarlas para campos que contengan valores numéricos o de texto.
No es conveniente utilizarlas con campos que contengan valores de tipo hora o fecha.
Sí el rendimiento de la aplicación es importante, lo aconsejable es realizar los cálculos en el editor de script y no agregar muchas dimensiones calculadas, ya que estás se recargarán por cada selección que haga el usuario.
No es conveniente poner muchos campos distintos en una dimensión calculada.
Fuente:
https://community.qlikview.com/groups/qlikview-scalability/content?filterID=contentstatus%5Bpublished%5D~objecttype~objecttype%5Bdocument%5D&filterID=contentstatus%5Bpublished%5D~tag%5Bscalability%5D&query=quick+tips+%23&sortKey=contentstatus%5Bpublished%5D~creationDateAsc&sortOrder=1
https://community.qlik.com/welcome
Tip para realizar comparaciones!
Qlikview compara a los números más rápidos que a las cadenas.
Entonces para un if conviene hacer...
if(campoA=1, campoB)
if(campoA='1', campoB)
Y para Set Analysis conviene...
sum({$<campoA={1}>} campoB)
sum({$<campoA={'1'}>} campoB)
Tip para optimizar la carga en un script!
Las funciones MonthName() & DayName() cuando se usan en la recarga de un script, lo vuelven más lento.
Lo que se puede hacer es modificarlas por otras funciones que mejoren la performance:
TimeStamp(Floor(<Your Timestamp>), 'YYYY-MM-DD') por DayName()
date(<Your Timestamp>, 'MMM YYYY') por MonthName()
Estas funciones no consumen mucho tiempo de procesamiento como las expresiones, dado que están almacenadas en caché y como se cargan desde allí, la carga es más rápida.
Full transcript