Skip to main content
Announcements
Introducing a new Enhanced File Management feature in Qlik Cloud! GET THE DETAILS!
cancel
Showing results for 
Search instead for 
Did you mean: 
yaguilej
Contributor II
Contributor II

Intervalos con la funcion Dual

Hola,  quiero montar una gráfica que por una serie de intervalos me de el valor promedio de unos pedidos. Me funciona el primer If el que corresponde al 20% pero los siguientes ya no se como probar, he pensado que podía venir por las variables, le he quitado y puesto el $, pero no acabo de encontrar donde podría estar el error. Quitando el $ a todas las Variables, al menos me muestra la gráfica aunque solo sea con el 20%.

= if(
 (Aggr({<Id_PdR={'*'}>}
      sum({<Fecha={'Pedido'},dFecha={">=$(=makedate($(=max(FY)-1),7,1))"},[Valor de pedido]={">0"}>}[Valor de pedido]),
           Id_PdR)
 <= vMedia2),
  dual('0 < x < vMedia2',20)
 ,if(
 (Aggr({<Id_PdR={'*'}>}
      sum({<Fecha={'Pedido'},dFecha={">=$(=makedate($(=max(FY)-1),7,1))"},[Valor de pedido]={">0"}>}[Valor de pedido]),
           Id_PdR)
 > vMedia2
    and
 Aggr({<Id_PdR={'*'}>}
      sum({<Fecha={'Pedido'},dFecha={">=$(=makedate($(=max(FY)-1),7,1))"},[Valor de pedido]={">0"}>}[Valor de pedido]),
           Id_PdR)
 <= vMedia4),
  dual('vMedia2 < x < vMedia4',40)
  ,if(
 (Aggr({<Id_PdR={'*'}>}
      sum({<Fecha={'Pedido'},dFecha={">=$(=makedate($(=max(FY)-1),7,1))"},[Valor de pedido]={">0"}>}[Valor de pedido]),
           Id_PdR)
 > vMedia4
    and
 Aggr({<Id_PdR={'*'}>}
      sum({<Fecha={'Pedido'},dFecha={">=$(=makedate($(=max(FY)-1),7,1))"},[Valor de pedido]={">0"}>}[Valor de pedido]),
           Id_PdR)
 <= vMediaM4),
  dual('vMedia4 < x < vMediaM4',60)
  ,if(
 (Aggr({<Id_PdR={'*'}>}

11 Replies
rubenmarin

Si con valores fijos funciona y con variable no solo hay que centrarse en la variable, y para que la variable devuelve un valor y no una expresión habría que añadirle un igual (=) delante. Para que no afecte a la tabla que me has mostrado antes donde se calculaba por concepto tendría que ser otra variable.

Por ejemplo de la variable "vVar" con contenido "Sum(...)" habría que crear la variable "vVarValor" con contenido "=$(vVar)" y usar estas variables en la expresión. 

También puedes probarlas primero en una tabla o un objeto de texto para ver que devuelven el valor correcto.

yaguilej
Contributor II
Contributor II
Author

Muchísimas gracias Rubén!!! he definido las variables con = y después el tema del $ y ha funcionado todo correctamente.

Saludos y buen finde!!