Skip to main content
Announcements
Introducing Qlik Answers: A plug-and-play, Generative AI powered RAG solution. READ ALL ABOUT IT!
cancel
Showing results for 
Search instead for 
Did you mean: 
walterlh
Creator II
Creator II

Siguiente registro ???

Tengo una tabla pivot con un informe simple acerca del peso de un grupo de animales donde quiero cambiar la disposición de los registros en cuanto al formato, es decir, salen verticalmente y quiero ponerlos de manera horizontal para que quede un solo renglón o fila de la tabla por cada animal.

Aquí una imagen de mi gráfico actual:

Pesaje.png

Los campos "FechaEv" y "PesoEv" (Fecha del evento y Peso del Evento) son los que provocan que el gráfico se extienda verticalmente por lo que se me ocurrió dividir el campo PesoEv y/o FechaEv en varios campos. Por ejemplo:

El 1º peso lo obtengo:

FirstSortedValue(TOTAL<CodAnimal, FechaNac> PesoEv, FechaEv & IdEvento)

El último peso lo obtengo:

FirstSortedValue(TOTAL <CodAnimal, FechaNac> PesoEv, - date(FechaEv)&IdEvento)

pero...  ¿Cómo obtengo el 2º, 3º, 4º, etc. peso (o registro)?

Aquí un Excel para que vean mas o menos cual es la idea:

Imagen1.png

Muchas gracias por cualquier aporte.

1 Solution

Accepted Solutions
walterlh
Creator II
Creator II
Author

Efectivamente es la función con la que obtuve la solución a mi problema!

para el primer registro:

FirstSortedValue(TOTAL<CodAnimal, FechaNac> PesoEv, FechaEv & IdEvento)

para el segundo registro:

FirstSortedValue(TOTAL<CodAnimal, FechaNac> PesoEv, FechaEv & IdEvento, 2)

para el tercer registro:

FirstSortedValue(TOTAL<CodAnimal, FechaNac> PesoEv, FechaEv & IdEvento, 3)


etc.


Lo que no  he podido descubrir es como referirme a  por ejemplo:

Los últimos 3 registros

El ante-último registro

Los últimos 5 registros

ya que no a todos los animales se los pesa la misma cantidad de veces y sería bueno poder mostrar los últimos registros para aquellos que se pesan por ejemplo 25 veces durante su vida. Pero no encontré nada al respecto en el manual.


Muchas gracias a todos!

View solution in original post

6 Replies
jolivares
Specialist
Specialist

Y por que no "pivoteas" la fecha y lo pones arriba, asi tendras para cada fecha sus eventos

walterlh
Creator II
Creator II
Author

Hola Juan, si hago lo que me indicas me va a quedar muchos registros horizontalmente (y muchos nulos) porque por cada fecha de evento va a haber una columna y serían algo así como 120 columnas. Sin contar que no todos los animales se pesan en las mismas fechas y por eso van a indicar nulo o cero.Imagen1.png

sorrakis01
Specialist
Specialist

Hola,

No puedes subir el ejemplo?

Será mas fácil poder ayudarte..... De todas maneras lo que te dice Juan tiene razón, ya que tendrías que marcar la opción de la dimensión: Suprimir cuando el valor es nulo.

Nulo.png

Saludos,

jolivares
Specialist
Specialist

Revisa que la funcion de firstsortedvalue tiene un parametro para buscar cuales son los siguientes registros

walterlh
Creator II
Creator II
Author

Lo que propone Juan es lo que hice y puse imagen de tal en la respuesta a él. Se hace muy extenso horizontalmente ya que es una columna por cada fecha de evento (más de 120 y creciendo) y nada cambia si pongo "Suprimir cuando El Valor Es Nulo". Sinó lo estoy entendiendo mal.

walterlh
Creator II
Creator II
Author

Efectivamente es la función con la que obtuve la solución a mi problema!

para el primer registro:

FirstSortedValue(TOTAL<CodAnimal, FechaNac> PesoEv, FechaEv & IdEvento)

para el segundo registro:

FirstSortedValue(TOTAL<CodAnimal, FechaNac> PesoEv, FechaEv & IdEvento, 2)

para el tercer registro:

FirstSortedValue(TOTAL<CodAnimal, FechaNac> PesoEv, FechaEv & IdEvento, 3)


etc.


Lo que no  he podido descubrir es como referirme a  por ejemplo:

Los últimos 3 registros

El ante-último registro

Los últimos 5 registros

ya que no a todos los animales se los pesa la misma cantidad de veces y sería bueno poder mostrar los últimos registros para aquellos que se pesan por ejemplo 25 veces durante su vida. Pero no encontré nada al respecto en el manual.


Muchas gracias a todos!