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

Calculo hasta fecha de valor de dimension

Buenas tardes.

Pregunto esto en español primero para explicarme mejor, ya que mi inglés es muy malo.

Lo que quiero haces es una expresion que calcule para cada valor de dimension temporal del gráfico todos los movimientos desde el inicio de los tiempos hasta la fecha justo anterior al periodo mostrado.

Tengo esta fórmula, pero no funciona:

sum({<Estado={"Tesoreria"},TipoImporte={"Banco"},Fecha={"<=$(vFechaHastaPeriodo)"},[Operating Class]={8,3}, Mes=, Año= >} Importe) - Sum({<[Operating Class]={'3'}, BancoBloqueado={0}, Fecha=, Mes=, Año=>} Limite)

vFechaHastaPeriodo sería el dia anterior justo al primer valor de la dimension.

Supongamos que estamos viendo el año 2013 y el mes de Enero, pero desglosado por Semanas, pues la primera semana sería hasta el 31/12/12, la segunda semana sería hasta la fecha 6/01/13, la tercera semana sería hasta la fecha 13/01/13, ....

Espero haberme explicado con suficiente claridad, sino, por favor, preguntarme.

Muchas gracias, no solo a los que contesten, sino también a los que lean el post.

Un saludo.

13 Replies
chematos
Specialist II
Specialist II

No me queda claro qué es lo que no te está funcionando... Si es porque la semana no se corresponde con el valor del período que debería calcular es una cosa, pero no sé, si puedes detallar lo que estás obteniendo, mejor.

Prueba con esto por si no te estuviera calculando bien:

sum({<Estado={"Tesoreria"},TipoImporte={"Banco"},Fecha={'<=$(=$(vFechaHastaPeriodo))'},[Operating Class]={8,3}, Mes=, Año= >} Importe) - Sum({<[Operating Class]={'3'}, BancoBloqueado={0}, Fecha=, Mes=, Año=>} Limite)

Saludos

Not applicable
Author

Muchas gracias José.

He probado la formula que me dices, pero no me aparece los importes correctos.

Voy a dar mas datos, que tenía que haber dado ayer, para ver si así nos ponemos mas en situación.

Primero voy a decir que tengo dimensiones calculadas temporales, porque sino, al omitir la selección de fecha en esta expresión, me aparecen los años anteriores al seleccionado.

Las dimensiones calculadas tienen las siguientes expresiones:

=If(Fecha<='$(=vFechaHastaPeriodo)',$(vAnioActualPeriodo), [Año])

=If(Fecha<='$(=vFechaHastaPeriodo)',vMesActualPeriodo, [Mes])

=If(Fecha<='$(=vFechaHastaPeriodo)',vSemanaTextoActualPeriodo, [SemanaTexto])

=If(Fecha<='$(=vFechaHastaPeriodo)',date(vFechaActualPeriodo, 'DD/MM/YYYY'), date([Fecha], 'DD/MM/YYYY'))

Las variables tienen estas expresiones:

vFechaHastaPeriodo

=date(min(Fecha) - 1, 'DD/MM/YYYY')

vAnioActual

=Year(Today())

vMesActualPeriodo

=Month(Min(Fecha))

vSemanaActualPeriodo

=MaxString({1<Fecha={"$(vFechaActualPeriodo)"}>} SemanaTexto)   //Me estoy dando cuenta que esta expresión la tendría que cambiar. Porque lo que quiero es que todo lo anterior vaya a la primera semana del periodo

vFechaActualPeriodo

=Min(Fecha)

vFechaHastaPeriodo

=date(min(Fecha) - 1, 'DD/MM/YYYY')

Espero que con esto me podais ayudar, porque no sé si lo estoy haciendo mal en la expresión, en las variables o las dimensiones calculadas.

Muchas gracias.

Un saludo.

Not applicable
Author

No sería posible que subieras un ejemplo con datos cargados?

Saludos

Not applicable
Author

Gracias Pedro.

Voy a subir un ejemplo de documento (con la fórmula mas sencilla) y el excel que carga la información.

Para este ejemplo, si no me equivoco, tendría que salir a día 1 de Enero de 2013 el dato de 623.824€ (que corresponden a todos los movimientos anteriores a esa fecha, 373.824 €, menos el límite de los bancos -250.000€). Para el día 2 de Enero, pues sería ese mismo dato pero sumando los movimientos del día 1 de Enero (-2.502€).

NO me vale tener dos filas, uno con el saldo acumulado y otra línea con los movimientos de ese periodo para calcular la siguiente columna sumando esos valores, porque esa solución es la que tenía antes, pero resulta que los límites también van a variar en fecha. La formula será mas compleja, pero quería saber como corregir esta parte para aplicar una lógica parecida con los límites.

Muchas gracias.

Un saludo.

Not applicable
Author

He subido un ejemplo, mas sencillo, para que sea mas claro.

Por favor, a ver si alguien me puede ayudar a corregir la fórmula.

Muchas gracias.

Un saludo.

Not applicable
Author

Tiene que ser necesariamente una tabla pivotante?

Not applicable
Author

No sé si van por aquí los tiros. Comprueba si te sirve de algo.

Saludos.

Not applicable
Author

Muchas gracias Pedro.

Tiene que ser pivotante, porque quiero que las expresiones se muestren como filas y los valores de dimensión como columnas.

He revisado tu documento, pero no me sirve, ya que al seleccionar un año se pierde todo lo anterior. Mi idea es luego ampliar esa expresion a una mas compleja con los límites (ya que los límites tendrán una fecha inicio y fin, y solo debe funcionar cuando la fecha del valor de dimension está en ese rango).

Muchas gracias.

Un saludo.

Not applicable
Author

Una pregunta, las cantidades acumuladas tienen que ser dadas para cada día o pueden ser para cada semana? Otra pregunta, no te vale si se cargan en el script los acumulados?