Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Slow performance

Hi,

  Estoy desarrollando una aplicacion que muestra datos por dia, para esto, se colocaron 31 objetos de texto y 31 graficos de indicador, Cada elemento contiene un mismo Set Analysis donde cambio una fecha manualmente en cada elemento. El codigo dentro de cada elemento es realmente grande, y sé que esto esta generando un bajo rendimiento en la herramienta.

A continuacion les agrego una instruccion que tengo dentro uno de los graficos, como esta tengo 30 mas donde solo se cambia el dato en [Fecha Embarque]={"$(vDia1)"}>} por un dia 2, 3, etc.., es posible modificar el codigo de tal forma que sea mas compacto o tenga un mejor rendimiento?

=

(

Sum(Aggr(Round(

Sum({$<[Contenedor Cpd Id]={"DOL"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])*vFactorDolly +

Sum({$<[Contenedor Cpd Id]={"TAR"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])*vFactorTarima +

Sum({$<[Contenedor Cpd Id]={"J12"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])+

Sum({$<[Contenedor Cpd Id]={"J09"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])+

Sum({$<[Contenedor Cpd Id]={"J07"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])+

Sum({$<[Contenedor Cpd Id]={"J06"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])),[Embarque Id]))

)

/

(

sum(Aggr(

if(sum({$<[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=, [Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>} [Total Cajas])<vFactorCajas,

    if(

    Round(

Sum({$<[Contenedor Cpd Id]={"DOL"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])*vFactorDolly +

Sum({$<[Contenedor Cpd Id]={"TAR"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])*vFactorTarima+

Sum({$<[Contenedor Cpd Id]={"J12"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])+

Sum({$<[Contenedor Cpd Id]={"J09"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])+

Sum({$<[Contenedor Cpd Id]={"J07"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])+

Sum({$<[Contenedor Cpd Id]={"J06"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont]))

    <=24,24,

    if(Round(

Sum({$<[Contenedor Cpd Id]={"DOL"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])*vFactorDolly +

Sum({$<[Contenedor Cpd Id]={"TAR"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])*vFactorTarima +

Sum({$<[Contenedor Cpd Id]={"J12"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])+

Sum({$<[Contenedor Cpd Id]={"J09"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])+

Sum({$<[Contenedor Cpd Id]={"J07"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])+

Sum({$<[Contenedor Cpd Id]={"J06"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont]))

    <=27,27,

    if(Round(

Sum({$<[Contenedor Cpd Id]={"DOL"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])*vFactorDolly +

Sum({$<[Contenedor Cpd Id]={"TAR"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])*vFactorTarima +

Sum({$<[Contenedor Cpd Id]={"J12"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])+

Sum({$<[Contenedor Cpd Id]={"J09"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])+

Sum({$<[Contenedor Cpd Id]={"J07"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])+

Sum({$<[Contenedor Cpd Id]={"J06"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont]))

    <=30,30,

    Round(

Sum({$<[Contenedor Cpd Id]={"DOL"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])*vFactorDolly +

Sum({$<[Contenedor Cpd Id]={"TAR"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])*vFactorTarima +

Sum({$<[Contenedor Cpd Id]={"J12"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])+

Sum({$<[Contenedor Cpd Id]={"J09"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])+

Sum({$<[Contenedor Cpd Id]={"J07"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])+

Sum({$<[Contenedor Cpd Id]={"J06"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont]))

    ))),

   

   

    if(Round(

Sum({$<[Contenedor Cpd Id]={"DOL"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])*vFactorDolly +

Sum({$<[Contenedor Cpd Id]={"TAR"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])*vFactorTarima +

Sum({$<[Contenedor Cpd Id]={"J12"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])+

Sum({$<[Contenedor Cpd Id]={"J09"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])+

Sum({$<[Contenedor Cpd Id]={"J07"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])+

Sum({$<[Contenedor Cpd Id]={"J06"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont]))

    <=48,48,

    if(Round(

Sum({$<[Contenedor Cpd Id]={"DOL"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])*vFactorDolly +

Sum({$<[Contenedor Cpd Id]={"TAR"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])*vFactorTarima +

Sum({$<[Contenedor Cpd Id]={"J12"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])+

Sum({$<[Contenedor Cpd Id]={"J09"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])+

Sum({$<[Contenedor Cpd Id]={"J07"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])+

Sum({$<[Contenedor Cpd Id]={"J06"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont]))

    <=51,51,

    if(Round(

Sum({$<[Contenedor Cpd Id]={"DOL"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])*vFactorDolly +

Sum({$<[Contenedor Cpd Id]={"TAR"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])*vFactorTarima +

Sum({$<[Contenedor Cpd Id]={"J12"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])+

Sum({$<[Contenedor Cpd Id]={"J09"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])+

Sum({$<[Contenedor Cpd Id]={"J07"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])+

Sum({$<[Contenedor Cpd Id]={"J06"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont]))

    <=54,54,

    if(Round(

Sum({$<[Contenedor Cpd Id]={"DOL"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])*vFactorDolly +

Sum({$<[Contenedor Cpd Id]={"TAR"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])*vFactorTarima +

Sum({$<[Contenedor Cpd Id]={"J12"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])+

Sum({$<[Contenedor Cpd Id]={"J09"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])+

Sum({$<[Contenedor Cpd Id]={"J07"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])+

Sum({$<[Contenedor Cpd Id]={"J06"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont]))

    <=57,57,

    if(Round(

Sum({$<[Contenedor Cpd Id]={"DOL"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])*vFactorDolly +

Sum({$<[Contenedor Cpd Id]={"TAR"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])*vFactorTarima +

Sum({$<[Contenedor Cpd Id]={"J12"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])+

Sum({$<[Contenedor Cpd Id]={"J09"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])+

Sum({$<[Contenedor Cpd Id]={"J07"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])+

Sum({$<[Contenedor Cpd Id]={"J06"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont]))

    <=60,60,

        Round(

Sum({$<[Contenedor Cpd Id]={"DOL"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])*vFactorDolly +

Sum({$<[Contenedor Cpd Id]={"TAR"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])*vFactorTarima +

Sum({$<[Contenedor Cpd Id]={"J12"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])+

Sum({$<[Contenedor Cpd Id]={"J09"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])+

Sum({$<[Contenedor Cpd Id]={"J07"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])+

Sum({$<[Contenedor Cpd Id]={"J06"},[Nombre Base de Datos]=, Rnk= ,Nombreproducto=,[Producto Id]=,[Contenedor Id]=,[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont]))

    )))))),[Embarque Id]))

)

Gracias de antemano.

Saludos.

5 Replies
Not applicable
Author

Hi,

  Im developing an aplication that shows data day by day, for this, I put 31 text objects and 31 gauge charts. Each element have the same set analysis where I change the date manually at each element. The code inside its really big, and I know this is generating a really low performance in the tool.

  Next I add one instruction that I have in one of the graphics, like this, i have 30 more were i change the date like [Fecha Embarque]={"$(vDia1)"} for vDia2, vDia3,.. and so on, it is possible change the code in certain way that is smaller or have a better performance?

  Thx

Not applicable
Author

Si todo eso es una sola expresión... es muy recomendable que pases la mayoría de esos cálculos al modelo de datos para simplificar tus cálculos en el front end. Posteriormente podrías utilizar una tabla simple con un minichart de tipo guauge y día como dimensión.

Saludos.

Not applicable
Author

Anexo una imagen de lo que se requiere, la instruccion antes publicada me entrega el % del color verde.

ScreenHunter_02 Jul. 19 11.58.jpg

Not applicable
Author

uFFFF... En ese caso no hay objeto nativo de QlikView que pueda generar ese formato, tendrás que seguir con los text object. Sin embargo tu expresión si puede, y debe, simplificarse, pues realizas muchos calculos para cada día y además dichos cálculos son agrupados por AGGR, lo cual dependiendo del caso puede llegar a ser bastante pesado. Lo único aquí es recomendarte simplificar tu cálculo realizando todas esas comprobaciones y filtros desde el script. Así, tu expresión sería algo como:

SUM( {$<[Fecha Embarque]={"$(vDia1)"}>}[Total Cantidad Cont])

Saludos.

Not applicable
Author

Entiendo, el problema de calcularlo asi es que no se si respete las dimensiones, a la derecha de esa imagen van las regionalizaciones geograficas: Gerencia, Division, Agencia, Canal.. etc...

Saludos.