Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hola
Estoy intentando crear una variable para evitar poner 1000 veces la misma formula en un dashboard que fija la fecha o el mes de diferentes campos.
Hasta ahora la unica fórmula que he conseguido que funcione es: Ejemplo para fijar el día
=sum({< [Fecha] = {">=$(=Date(DayStart(Today()),'DD/MM/YYYY'))<=$(=Date(DayEnd(Today()),'DD/MM/YYYY'))"} >}[desv.rech.tot.obj])
Siendo [desv.rech.tot.obj] el campo a medir
Como podría hacer para que la fórumla anterior ({< [Fecha] = {">=$(=Date(DayStart(Today()),'DD/MM/YYYY'))<=$(=Date(DayEnd(Today()),'DD/MM/YYYY'))"} >} fuera una varible que pudiera llamar "Settoday" y asi solo escribir algo del estilo
=sum ((Setttoday) [desv.rech.tot.obj]) y asi poder ir cambiando el campo, en base a la necesidad
Gracias por la ayuda
Hola. Prueba a hacerlo de una de estas 2 formas:
en la expresión, poner este set analysis:
SUM({$<Fecha={“=$(=TODAY())”}>} [desv.rech.tot.obj])
o creando una variable: Setttoday = today()
SUM({$<Fecha={“=$(Setttoday )”}>} [desv.rech.tot.obj])
Luego la usas así:
Por el Set Analysis tan complicado que has puesto en el ejemplo, deduzco que el campo Fecha contiene además la hora. Te recomiendo que en el Script dividas ese campo en 2, uno para la fecha y otro para la hora.
Para tener más ejemplos de SET analysis, te recomiendo que te descargue mi manual en español donde explico con detalle todo esto.
Hola y gracias por la rapidez
La verdad es que he probado decenas de fórmulas de Set Anaysis, y solo me funciona esta que puse, por eso el intentar ponerla como una variable. Es mas que probable que la causa sea el formateo de la fecha en la carga como bien has dicho, pero no se arreglarlo.
Estos datos vienen de un excel, o sea que a saber que me traigo.
LOAD
Fecha,
desv.rech.tot.prdo,
desv.rech.tot.obj,
desv.tot.tot.prdo,
desv.tot.tot.obj,
Esta es la carga, como ves la fecha no está formateada, me podrías ayudar a hacerlo?
Pd. tu documento de Set Analysis es increible, le echare unas horas en cuanto tenga tiempo, promete ser muy esclarecedor
Crea un cuadro de lista con la fecha.
si te aparece alineada a la derecha, es una cadena de caracteres.
Si te aparece alineada a la izquierda, es un campo fecha. Lo primero que tienes que hacer es identificar el tipo del campo fecha que estás cargando.
Si es una cadena de caracteres, viniendo de excel (que siempre da problemas), te recomiendo que en es script hagas: (suponiendo que la fecha en excel tenga este formato: DD/MM/YYYY)
............
makedate(mid(Fecha,7,4), mid(Fecha,4,2), Left(Fecha,2) AS Fecha,
.........
De esta forma te aseguras que el campo Fecha será de tipo Date.
También lo puedes intentar hacer directamente con Date(Date#(Fecha),'DD/MM/YYYY') pero por experiencia propia, depende de cómo esté en el excel, te puedes volver loco hasta que lo consigas cargar correctamente.
En caso de tener añadida la hora, si no te hace falta no lo cargues. Si te hace falta, cárgalo en otro campo distinto.
Hola, efectivamente se alinean a la derecha.
LOAD
makedate(mid(Fecha,7,4), mid(Fecha,4,2), Left(Fecha,2),
desv.rech.tot.prdo,
desv.rech.tot.obj,
desv.tot.tot.prdo,
desv.tot.tot.obj,
prod.tot.dia,
prod.tot.prdo,
Lo he metido tal cual.... supongo que no es correcto como lo hecho, por que me da error. He quitado y puesto , ; etc, y no soy capaz
Te falta cerrar el paréntesis de la función Makedate. Y Renombra el campo:
makedate(mid(Fecha,7,4), mid(Fecha,4,2), Left(Fecha,2)) AS Fecha,
De todas formas, si lo está alineando a la derecha, ya lo está cargando como fecha.
Hola.
O sea, que ya has cargado en el script la fecha asegurándote de que es formato fecha (usando el Makedate).
¿Has probado ahora si te funciona ese set analysis en las expresiones?
SUM({$<Fecha={“=$(=TODAY())”}>} [desv.rech.tot.obj])