Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik Unveils New Agentic Capabilities Across Analytics, Data Engineering, and Trust: Learn More!
cancel
Showing results for 
Search instead for 
Did you mean: 
migueldfr_23
Creator
Creator

Crear Grafico Lineas Acumulado

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))))

migueldfr_23_0-1741607477867.png

Y quiero llegar a algo asi pero acumulativo y que ambas lineas se corten el mismo dia de hoy paraa ambos años.

migueldfr_23_1-1741607514580.png

 

 

Muchas gracias por la ayuda

Labels (1)
19 Replies
migueldfr_23
Creator
Creator
Author

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 

migueldfr_23_0-1741684812278.png

 

rubenmarin

Si no funciona tendrá que mirar de crear una app de ejemplo para subirla y poder comprobar qué ocurre

migueldfr_23
Creator
Creator
Author

@rubenmarin Hola Ruben

Aqui te dejo la app con los datos necesarios

Muchas gracias por tu ayuda

rubenmarin

Hola, por hacerlo rápido he usado el truco de poner la acumulación usando los modificadores de Qlik.

rubenmarin_0-1741695860892.png

 

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.

rubenmarin

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)))
)

 

migueldfr_23
Creator
Creator
Author

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 ?  

migueldfr_23_0-1741709348753.png

Muchísimas gracias @rubenmarin 

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.

rubenmarin_0-1741711446185.png

Cuando selecciones la medida en el mapa pon que use los colores de la librería:

rubenmarin_1-1741711495074.png

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...

migueldfr_23
Creator
Creator
Author

Muchas gracias @rubenmarin, ha sido una gran ayuda.

migueldfr_23
Creator
Creator
Author

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

migueldfr_23_0-1742400651855.png
Muchas gracias

 

migueldfr_23
Creator
Creator
Author

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 🙂