Skip to main content
Announcements
Introducing Qlik Answers: A plug-and-play, Generative AI powered RAG solution. READ ALL ABOUT IT!
cancel
Showing results for 
Search instead for 
Did you mean: 
jordimtb
Contributor III
Contributor III

¿Obtener una media por día de la semana? (tema Aggr)

Buenas tardes,

ante todo, es un tema que no logro entender el comportamiento de la función Aggr, la que a priori es sencilla de entender pero a la práctica me doy de bruces.

bien, tengo una base de datos de ticketing y debo obtener la media de tiquets por día de la semana.

Por un lado tenemos los datos:

jordimtb_0-1615472971440.png

DiaSem es el resultado de WeekDay(f_alta), tickets es un  simple Count(ID)

De entrada debo lograr este resultado (el ideal es contando tambiñen los días que no haya tiquets, con valor 0)

jordimtb_1-1615473048975.png

Con la teoría, ¿esta función creo que debería funcionar?

 

 

=Avg(
	Aggr( 
    Count(ID),
        Year(f_alta),
        WeekDay(f_alta)
        )
	)

 

 

Obtener la media de la cuenta de tiquets por día semana  y año ¿no?

Adjunto .qvf del ejemplo.

Agradacería enormemente que me indicaráis como debería hacerlo y lograr que entienda la operativa de los Aggr... Muchas gracias.

 

2 Solutions

Accepted Solutions
rubenmarin

Hola @jordimtb, vas bien, lo único que Aggr debe usar campos creados en el script, no calculados, y que tendrías que añadir f_alta al Aggr().

Si al script le añades "Year(fecha) as Año, WeekDay(fecha) as DiaSemana"

Puedes usar: =Avg(Aggr(Count(ID),Año,DiaSemana,f_alta)).

Si no añades f_alta no te estaría haciendo realmente la media de tickets que suele haber los lunes, puedes comprobarlo quitando este campo del aggr.

Saludos.

View solution in original post

DALI_76
Contributor
Contributor

Estabas muy cerca....

Cuando utilizo AGGR, siempre trato de no generar campos a calcular tipo Year(f_alta)...por eso lo genere en Script, un Resident , y se lo puse mas fácil al motor de Qlik.

Pero por lo que pude entenderte....esta seria la solucion!!

PICASSO_76_0-1627728759189.png

Suerte!! 

Picasso76

View solution in original post

2 Replies
rubenmarin

Hola @jordimtb, vas bien, lo único que Aggr debe usar campos creados en el script, no calculados, y que tendrías que añadir f_alta al Aggr().

Si al script le añades "Year(fecha) as Año, WeekDay(fecha) as DiaSemana"

Puedes usar: =Avg(Aggr(Count(ID),Año,DiaSemana,f_alta)).

Si no añades f_alta no te estaría haciendo realmente la media de tickets que suele haber los lunes, puedes comprobarlo quitando este campo del aggr.

Saludos.

DALI_76
Contributor
Contributor

Estabas muy cerca....

Cuando utilizo AGGR, siempre trato de no generar campos a calcular tipo Year(f_alta)...por eso lo genere en Script, un Resident , y se lo puse mas fácil al motor de Qlik.

Pero por lo que pude entenderte....esta seria la solucion!!

PICASSO_76_0-1627728759189.png

Suerte!! 

Picasso76