Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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
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, ', ')
Lafunción GetFieldSelections tiene como último parámetro el estado al que quieres hacer referencia.
getfieldselections (NombredeCampo [, ValorSep [, ValoresMax [, Estado]]])
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, ', ')
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
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
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 )
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)