Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Buenas a todos,
Me gustaria poder crear un grafico de líneas con valores acumulados desde Enero hasta la fecha de hoy con dos líneas para el año pasado y este, es decir dos líneas que representen el año 2024 y 2025 para cada año una linea diferente que vaya desde Enero hasta la fecha de hoy para ambos dos.
He utilizado esta linea pero no me funciona.
If(Date(createddate_case, 'DD/MM/YYYY') <= Date(Today(), 'DD/MM/YYYY'), RangeSum(Above(TOTAL Count(casenumber_case), 0, RowNo(TOTAL))))
Y quiero llegar a algo asi pero acumulativo y que ambas lineas se corten el mismo dia de hoy paraa ambos años.
Muchas gracias por la ayuda
He hecho algunas pruebas y esto también sirve:
If(month_createddate_case<= Month(Today()),
Aggr(RangeSum(Above(Count(casenumber_case), 0, month_createddate_case))
,(year_createddate_case, (Numeric, Ascending), (Text, Ascending)),(month_createddate_case, (Numeric, Ascending), (Text, Ascending)))
)
Buenas, lo más fácil creo que sería crear la media como elemento maestro, en el elemento maestro ir a configurar valores por segmento, elegir el gradiente que quieres, y cambiar los colores de los extremos.
Cuando selecciones la medida en el mapa pon que use los colores de la librería:
Otra opción es en vez de por medida, usar 'por expresion', con la funcion colormix o colomix2, había un artículo explicando como ajustar los valores al rango -1, 1. No lo he encontrado, puede que este sirva: https://community.qlik.com/t5/Qlik-Sense-Documents/Qlik-Sense-Color-Range-Theme-Approach/ta-p/149102...
Por último, no es algo que haya hecho pero se puede cambiar el esquema de colores usando temas personalizados: https://help.qlik.com/en-US/sense-developer/November2024/Subsystems/Extensions/Content/Sense_Extensi...
Muchas gracias @rubenmarin, ha sido una gran ayuda.
Aggr(
RangeSum(Above(Count( casenumber_case), 0, month_createddate_case)),
(year_createddate_case, (Numeric, Ascending), (Text, Ascending)),
(month_createddate_case, (Numeric, Ascending), (Text, Ascending))
)
asi seria 🙂
Hola, todas las fechas del año pasado serán menores que la fecha de hoy, por eso salen todas las fechas del año pasado, podrías usar:
If(DayNumberOfYear(createddate_case) <= DayNumberOfYear(Today()),...
Muy buenas @rubenmarin
Tienes razon, de esta forma funciona el acumulativo, pero sigue saliendo todos los valores de 2024
If(DayNumberOfYear(createddate_case) <= DayNumberOfYear(Today(), 'DD/MM/YYYY'),
Date(createddate_case, 'DD/MM/YYYY'),
RangeSum(Above(TOTAL Count(casenumber_case), 0, RowNo(TOTAL)))
)
Muchas gracias por la ayuda
Hola, igual ha sido un error al copiar pero sobraría la parte del date, y el formato de fecha en 2ª parte de la comparación:
If(DayNumberOfYear(createddate_case) <= DayNumberOfYear(Today(), 'DD/MM/YYYY'),Date(createddate_case, 'DD/MM/YYYY'),
RangeSum(Above(TOTAL Count(casenumber_case), 0, RowNo(TOTAL)))
)
If the TOTAL causes trouble you can try with:
If(DayNumberOfYear(createddate_case) <= DayNumberOfYear(Today()),
Aggr(
RangeSum(Above((Sum(Valor)),0,RowNo()))
, [YearFieldName], [MonthFieldName]))
Buenas de nuevo @rubenmarin
Estoy poniendo esta formula :
If(
DayNumberOfYear(createddate_case) <= DayNumberOfYear(Today()),
RangeSum(Above(TOTAL Count(casenumber_case), 0, RowNo(TOTAL)))
)
Y me esta dando este resultado tanto en tabla como en grafico
Y también he probado con esta segunda que me has dicho
If(
DayNumberOfYear(createddate_case) <= DayNumberOfYear(Today()),
Aggr(
RangeSum(Above(Count(casenumber_case), 0, RowNo())),
Year(createddate_case),
Month(createddate_case)
)
)
Obteniendo este resultado:
Muchas gracias por la ayuda
Si un mes puede tener varias createddate_case distintas puede que tengas que usar DayNumberOfYear(Max(createddate_case))
Y no estoy seguro de que Year(createddate_case) o Month(createddate_case) te vayan a funcionar correctamente en el aggr, sería mejor tener un campo para el año y otro para el mes, se pueden crear en el script a partir de createddate_case.
He creado dos elementos maestros con los campos mencionados y he puesto el Max delante del createddate_case, pero sigue sin funcionar.
If(
DayNumberOfYear(MAX(createddate_case)) <= DayNumberOfYear(Today()),
Aggr(
RangeSum(Above(Count(casenumber_case), 0, RowNo())),
[Year Case],
[Month Case]
)
)
He creado una app con este script:
LOAD
Año,
Mes,
MakeDate(Año, Mes) as createddate_case,
Valor
Inline [
Año, Mes, Valor
2024,1,5
2024,2,5
2024,3,5
2024,4,5
2024,5,5
2025,1,7
2025,2,7
2025,3,7
];
Y usando esta expresión:
If(DayNumberOfYear(createddate_case) <= DayNumberOfYear(Today()),
Aggr(
RangeSum(Above((Sum(Valor)),0,RowNo()))
, Año, Mes))
Me da este gráfico:
Podrías ir probando para ver en qué parte te da el error ¿esta expresión te devuelve algo?
If(
DayNumberOfYear(MAX(createddate_case)) <= DayNumberOfYear(Today()),
Sum(1)
)
Si funciona ves completando para detectar en qué punto falla
If(DayNumberOfYear(createddate_case) <= DayNumberOfYear(Today()),
Aggr(
RangeSum(Above((Sum(COUNT(casenumber_case))),0,RowNo()))
, year_createddate_case, month_createddate_case))
Esta expresión no me devuelve nada
Y la que me has mencionado tu si que me devuelve pero no me suma, que es donde tendre que poner el Rowno()
If(
DayNumberOfYear(MAX(createddate_case)) <= DayNumberOfYear(Today()),
Sum(1)
)
No puedes usar Sum(COUNT(, o Sum o Count, en tu caso Count.
La que funciona deberías ir completando para ver en qué punto falla.
If(DayNumberOfYear(Max(createddate_case)) <= DayNumberOfYear(Today()),
Aggr(
RangeSum(Above(COUNT(casenumber_case),0,RowNo()))
, year_createddate_case, month_createddate_case)
)
Si no funciona tendrá que mirar de crear una app de ejemplo para subirla y poder comprobar qué ocurre