Skip to main content
Announcements
Announcing Qlik Talend® Cloud and Qlik Answers™ to accelerate AI adoption! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
maricarmen_acc
Partner - Contributor II
Partner - Contributor II

Como agrupar los valores de un campo en la dimensión de una gráfica?

Hola,

Tengo una tabla con las ventas que realizan comerciales en el tiempo, y tengo un campo Codigo de comercial y otro Codigo de contrato que realizan.

Quiero una gráfica de lineas con el eje x nº de comerciales (1, 2, 3....) agrupados por ejemplo de 100 en 100 o así y eje y el porcentaje de contratos que realizan con respecto al total de contratos en acumulado. ( de 0% a 100%) y ordenando los comerciales en el eje x de los que más contratos hacen a los que menos hacen, de forma que se pueda ver que por ejemplo 100 comerciales han llegado al 60 % del total de contratos , 500 comerciales han llegado al 90 % de contratos y el otro 10% de contratos lo han hecho 1000 comerciales por ejemplo.

He sacado la gráfica pero con el codigo de comercial en el eje x, no con un contador que me los agrupe de mayor a menor contratos realizados según la selección que haga en cada momento.

Me podeís dar una idea??

Gracias

10 Replies
Not applicable

maricarmen_acc
Partner - Contributor II
Partner - Contributor II
Author

Muchas gracias, pero no es exactamente lo que busco, ya que esto me crea un campo con distintos valores dependiendo el % de ventas al que se haya llegado, es decir, A si se llega al 80%, B del 80 al 90% y C del 90 al 100%.

Yo lo que quiero no es exactamente eso, es crear un campo que sea el numero de comerciales para que en mi gráfica se pueda ver que los 100 comerciales que más venden han llegado al x%( el que sea), los 500 comerciales que mas venden han llegado al y% de contratos vendidos... El eje X de la grafica tendrá que tener los valores: 100, 200, 300, 400, etc. hasta el numero total de comerciales que haya.

Saludos,

Not applicable

Se me ocurre una vía a través del script:

Si pudieses realizar un ranking de los comerciales segun sus ventas, y asociar la posición de dicho ranking al código de comercial, en el gráfico simplemente tendrías que establecer el segmento del ranking que deseas usar como dimensión con set análisis.

No se si me he explicado bien, pero creo que podría funcionar.

maricarmen_acc
Partner - Contributor II
Partner - Contributor II
Author

Si, algo así habia pensado , pero el problema de hacerlo en el script es que esta posicion de cada comercial según sus ventas variará dependiendo de la selección que se haga, es decir, con todas las fechas que tengo puede que tenga en el ranking:

Cod_Comercial     Posicion de ventas

A                              1

B                              2

C                              3

...

Pero al seleccionar un intervalo de fechas puede que esto cambie y pase a:

Cod_Comercial     Posición de ventas

B                                  1

C                                  2

A                                  3

...

Por lo que no puedo calcular esta posición en el script de carga.

Es eso lo que querias decir, te he entendido bien?

Gracias.

M Carmen.

Not applicable

se puede hacer en diseño usando una expresión como esta como dimensión:

= if(  aggr( (rank( sum ( ventas) ) <=10 )  , codigo_comercial ), 'TOP 10',

     if(  aggr( (rank( sum (ventas) ) >11) ,codigo_comercial )   and  aggr( (rank( sum (ventas) ) < 30)  ,codigo_comercial ), '20 siguientes' ,

            'resto'   ) )

maricarmen_acc
Partner - Contributor II
Partner - Contributor II
Author


Hola,

He probado con esta expresión y me sale algún descuadre que estoy comprobando pues al hacer una tabla por código de Comercial, calculando lo mismo, el acumulado del porcentaje de contratos con respecto al total y ordenándolo por el número de contratos que hacen en descendente no me sale exactamente lo mismo.

Si voy buscando en la tabla los mismos intervalos de TOP que he creado en la gráfica, me salen valores muy parecidos pero con algún descuadre arriba o abajo.

Estoy intentando ver porqué puede ser y no lo encuentro. No descarto que sea algún tema de calidad de los datos.

Alguna idea??

Muchas gracias de todas formas por esa expresión. Muy buena!

Not applicable

El merito es de Alfredo 

carlosac
Creator II
Creator II

En relación al tema del descuadre prueba con la expresión:

= if(  aggr( (rank( sum ( ventas) ) <=10 )  , codigo_comercial  ), 'TOP 10',

     if(  aggr( (rank( sum (ventas) ) >10) , codigo_comercial  )   and  aggr( (rank( sum (ventas) ) <=30)  , codigo_comercial  ), '20 siguientes' ,

            'resto'   ) )

maricarmen_acc
Partner - Contributor II
Partner - Contributor II
Author

Bueno es que es un Crack!