Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hola tengo el siguiente problema, yo hago unos cálculos que van en función de los días que se seleccione. Como selectores de fecha tengo por separado dia, mes y año. Mi duda por ejemplo es primero detectar que tengo seleccionado, si yo utilizo:
GetFieldSelections(dia) y tengo varios días seleccionados me aparece por ejemplo 11 de 31, pero no me aparece que días son los que tengo seleccionados, porque aparte de saber el número de días seleccionados, yo puedo querer saber que días son, porque hago un cálculo que afecte a los últimos 7 días de la selección
Y por otra parte, el mes de febrero de un año puede tener 28 dias y el mes de febrero de otro 29, con que función consigo yo sacar por ejemplo el número de dias de febrero de 2013, o de febrero de 2016
Un saludo
Hola:
getfieldselections ( Dia, '; ' , 31)
Saludos
Joaquín
Hola Jonay:
Respecto al número de días de febrero no lo conseguirás, el comportamiento asociativo de QV funciona así.
Quizá usar un objeto calendario te ayude, pero necesitas tener un campo fecha; además del día, mes y año.
Saludos,
Joaquín
Buenas Joaquín, mirando por google descubrí la expresión que dices, y si aparece el listado completo. Mi duda ahora es como procesar esa información, porque si fuera en un lenguaje normal, bastaria con hacer un for y usar una variable auxiliar para ir acumulando los calculos. Pero dentro de qlikview no se si la manera de pensar es la misma (ya que tiene for, variables, etc) o si por el contrario difiere la forma de hacerlo
Un saludo
Puedes copiar aquí la expresión que usas para hacer esos cálculos?
Buenas Joaquín, este es un ejemplo de un cálculo que hago
count({<año = {2015}, mes = {02}>} ID)/28
Como ves en este caso, lo puse a mano el año, el mes, y también puse los 28 días de febrero. Lo que yo querria es hacer ese calculo en base a una selección
suponiendo que se ha seleccionado por poner un ejemplo los días 13,14,15,16 de febrero de 2015
Entonces me surge la duda de si se puede poner dia = diasseleccionados de alguna forma, no se como se pondría esa igualdad y por otra parte me surge la duda de como saber que el número de dias seleccionados es 4, se me ocurrio poner la funcion count(getfieldselection (dia,',',31)), pero eso no funciona
Un saludo
count({<año = {2015}, mes = {02}>} ID) / getselectedcount(dia)
Extraído de la ayuda
getselectedcount(NombredeCampo [, IncluirExcluidos])
Develve el número actual de valores seleccionados en un campo
Si IncluirExcluidos es verdadero, el contador incluirá los valores seleccionados, los cuales están actualmente excluidos por las selecciones en otros campos. Si es falso o está omitido, dichos valores no serán incluidos.
Ejemplos
getselectedcount ( Año )
getselectedcount ( Año, true( ) )
Hola Joaquín, lo del conteo que me comentas funciona, tambien "descubri" como ponerle valores para hacer los conteos en base a las selecciones
dia = $::dia
Ahora la duda que tengo es: nostros tenemos la función isnull, que se supone que devuelve verdadero o falso, yo necesito poner que si una condición es falsa me haga una determinada cosa
estoy poniendo if (isnull(GetFieldSelections(dia) = 'false') pero ese false no me lo tiene en cuenta, de que forma puedo poner que si no hay ningun dia seleccionado, es decir, si dia seleccionado es falso, hacer lo que necesite. Use isnull porque es la única forma que se me ocurrió
Un saludo
Aquí tienes
if (isnull(GetFieldSelections(dia), 'Accion True', 'Accion False')
Aunque igual quieres esto
if (isnull(GetFieldSelections(dia), 30, GetFieldSelections(dia))
Lo que yo quiero decir es, if isnull es falso, que es como decir, que no ha hecho una seleccion de día me haga tal accion
habria que poner if (isnull (GetFieldSelections(dia) = false, hazme lo que necesito, hazme otra cosa)
Debo poner lo del false porque debo comprobar las selecciones de varios campos para realizar unos calculos
La cuestión es que no se como indicar ese valor falso a la función