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
Tal cual el script que hemos mencionado
If(DayNumberOfYear(Max(createddate_case)) <= DayNumberOfYear(Today()),
Aggr(
RangeSum(Above(COUNT(casenumber_case),0,RowNo()))
, year_createddate_case, month_createddate_case)
)
me devuelve esto
Si no funciona tendrá que mirar de crear una app de ejemplo para subirla y poder comprobar qué ocurre
Hola, por hacerlo rápido he usado el truco de poner la acumulación usando los modificadores de Qlik.
Luego he añadido el filtro, que para coger el mes de hoy he cambiado el if. Ambién he cambiado las dimensiones, en el script ya tienes los campos month_createddate_case y year_createddate_case, mejor usar esos que un cálculo a partir de createddate_case
El resultado es una expresión algo compleja pero ahora no tengo tiempo para simplificarla:
If(
month_createddate_case<= Month(Today()),
Sum({1<[$(=Replace(GetObjectField(0),']',']]'))]={">=$(=Min([$(=Replace(GetObjectField(0),']',']]'))]))<=$(=Max([$(=Replace(GetObjectField(0),']',']]'))]))"}
,[$(=Replace(GetObjectField(1),']',']]'))]={">=$(=Min([$(=Replace(GetObjectField(1),']',']]'))]))<=$(=Max([$(=Replace(GetObjectField(1),']',']]'))]))"}>}
Aggr(RangeSum(Above(If(Count([$(=Replace(GetObjectField(0),']',']]'))]) * Count([$(=Replace(GetObjectField(1),']',']]'))]) > 0
,( Count(casenumber_case) ) + Sum({1<[$(=Replace(GetObjectField(0),']',']]'))]={">=$(=Min([$(=Replace(GetObjectField(0),']',']]'))]))<=$(=Max([$(=Replace(GetObjectField(0),']',']]'))]))"}
,[$(=Replace(GetObjectField(1),']',']]'))]={">=$(=Min([$(=Replace(GetObjectField(1),']',']]'))]))<=$(=Max([$(=Replace(GetObjectField(1),']',']]'))]))"}>}0), 0), 0, RowNo()))
, ([$(=Replace(GetObjectField(1),']',']]'))], (Numeric, Ascending), (Text, Ascending)), ([$(=Replace(GetObjectField(0),']',']]'))], (Numeric, Ascending), (Text, Ascending))))
)
Para dejarlo más legible sería cambiar los =Replace(GetObjet.... por los nombres de los campos.
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)))
)
Eminencia, lo estoy probando y funciona la ultima lógica por lo menos.
Luego tengo una pregunta, el tema de colores por dimensión para mapa, me gustaría cambiar en base a número de id, cuanto mas id, colores más fuertes ( morado oscuro - azul clarito ).
La pregunta es que si se podria cambiar los colores a nuestra preferencia ?
Muchísimas gracias @rubenmarin
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.
Buenas tardes
y para hacer esta que calcule ambos años tanto 2024 y 205 en este caso.
Porque me he dado cuenta que no me esta funcionando esta:
If(
DayNumberOfYear(closeddate_case) <= DayNumberOfYear(Today(), 'DD/MM/YYYY'),
Date(closeddate_case, 'DD/MM/YYYY'),
RangeSum({< country = 'Static CY - PY'::country, closeddate_case-={'', null} >}Above( Count(/*{$<country = p({'Static CY - PY'} country)>}*/ casenumber_case),0))
)
No me esta mostrando la derecha igual que la izquierda
Muchas gracias
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 🙂