Skip to main content
Announcements
See why Qlik is a Leader in the 2024 Gartner® Magic Quadrant™ for Analytics & BI Platforms. Download Now
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Objeto de texto con valor de campo

Hola, tengo la siguiente duda:

Yo tengo un objeto de texto en el que quiero mostrar el valor del campo. La dificutad es que se trata del mismo campo en 2 estados alternos. Por que si pongo

     GetFieldSelections(campo)

y al objeto de texto le pongo uno de los estados, si me lo muestra bien, pero al tener que mostrar el valor del mismo campo para 2 estados diferentes, en ese caso no me sirve esa solucion, y he intentado añadir EstadoA o EstadoB, igual que cuando uso el count

GetFieldSelections({$<[fechaReserva]=[EstadoA]::[fechaReserva]>})

pero me dice que hay error en la expresion.

    En general no hay mucha información acerca de los estados alternos y no encuentro nada que me solucione este problema

Un saludo

1 Solution

Accepted Solutions
rubenmarin

Hola Jonay, para mostrar los valores de ambos estados puedes probar con:

=Concat(DISTINCT {EstadoA+EstadoB} fechaReserva, ', ')

Si solo quieres el EstadoA:

=Concat(DISTINCT {EstadoA} fechaReserva, ', ')

View solution in original post

6 Replies
m_martinez
Partner - Contributor III
Partner - Contributor III

Lafunción GetFieldSelections tiene como último parámetro el estado al que quieres hacer referencia.

getfieldselections (NombredeCampo [, ValorSep [, ValoresMax [, Estado]]])

rubenmarin

Hola Jonay, para mostrar los valores de ambos estados puedes probar con:

=Concat(DISTINCT {EstadoA+EstadoB} fechaReserva, ', ')

Si solo quieres el EstadoA:

=Concat(DISTINCT {EstadoA} fechaReserva, ', ')

Anonymous
Not applicable
Author

Hola Ruben, esta opción funciona perfectamente....pero ahora solo me falta entender porque funciona plenamente para si tuviera que aplicarla en otro contexto. Entiendo que la clausula distinct se pone para que si por ejemplo se seleccionaran 100 registros, con la misma fecha, solo se seleccionara una vez y no se repitiera.

Lo que no entiendo en si es porque es necesario el concat (que sin el no funciona), porque entenderia que fuera necesario en el caso que quieres mostrar 2 estados

     =Concat(DISTINCT {EstadoA+EstadoB} fechaReserva, ', ')

Pero no entiendo por que es necesario en el caso de un estado, porque, por así decirlo no se produce concatenación de valores, porque puedes quitar hasta la ',' de separador.

   =Concat(DISTINCT {EstadoA} fechaReserva, ', ')

Como te digo, funciona perfectamente, pero solo quiero saber porque es asi

Gracias

Un saludo

Anonymous
Not applicable
Author

Buenas Miguel, de la siguiente forma no me funciona

          GetFieldSelections(fechaReserva,EstadoA)  --> no me reconoce el EstadoA

No sabía si era porque no ponia los parámetros intermedios e intente poner null, para los 2 centrales, pero aun así no funciona

La forma de Ruben me funciona, pero si esta es una alternativa válida también me gustaria probarla

Un saludo

m_martinez
Partner - Contributor III
Partner - Contributor III

Jonay,

Los parámetros no los puedes dejar como nulo.

Te adjunto la ayuda de la función:

getfieldselections (NombredeCampo [, ValorSep [, ValoresMax [, Estado]]])

Devuelve una cadena con las selecciones actuales de un campo. Se pueden hacer consultas en un estado alterno.

ValorSep es el separador que se ha de colocar entre los valores de campo. Por defecto es ', '.

ValoresMax es el número máximo de valores de campo que se listarán de manera individual. Cuando se seleccione un número mayor de valores se utilizará el formato 'valores x de y' en su lugar . El valor por defecto es 6.

Estado es el estado alterno que queremos consultar.

La cadena se puede devolver con los formatos siguientes:

   

'x, y,z'Si el número de valores seleccionados es Maxvalues o inferior, la cadena devuelta es una lista con los valores seleccionados, separada por Valuesep como separador.
'NOT x, y, z'Si el número de valores no seleccionados es Maxvalues o inferior, la cadena devuelta es una lista con los valores no seleccionados, separada por ValueSep como separador y NOT como prefijo.
'x of y'Si el número de valores seleccionados ( x ) es mayor que Maxvalues pero menor que el número total de valores (y) menos Maxvalues.
'ALL'Si se seleccionan todos los valores.
'-'Si no se selecciona ningún valor.
<cadena de búsqueda>Si realizó la selección mediante una búsqueda, se devolverá la cadena de búsqueda.

Ejemplos

getfieldselections ( Año )

getfieldselections ( Año, '; '  )

getfieldselections ( Año, '; ' , 10  )

rubenmarin

Hola Jonay, lo del Concat es una función de agregación para decirle a Qlikview qué hacer cuando una expresión devuelve varios valores, en este caso el Concat le estaría diciendo que los junte en una única cadena, separados por lo que se pone en el 2ª parámetro (en este caso: separados por una coma y un espacio)

Si hay un único valor a mostrar no sería necesario el concat, pero ponerlo hace que la misma función sirva para un único valor o para varios.

Si por ejemplo quieres mostrar la fecha del EstadoA sabiendo que siempre va a haber un único valor posible podrías usar Only(), que no realiza ninguna operación y devolvería Null() si la expresión devuelve varios valores, pero te permite usar el Set Analisys: Only({EstadoA} fechaReserva)