Skip to main content
Announcements
NEW Customer Portal: Initial launch will improve how you submit Support Cases. FIND OUT MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
rulohx87
Contributor III
Contributor III

Imagen dinámica a partir de un objeto de texto

Tenemos esta tabla-ejemplo:

CiudadLuisMarcosAndresVictor
Distrito Federal17104
Guadalajara21013
Monterrey11348
Puebla4269
Tlaxcala2031

Queremos saber varias reglas de negocio como por ejemplo:

  • ¿Qué vendedor tuvo más ventas por una ciudad o por un conjunto de ciudades?
    • Respuesta: El mejor vendedor fue: Víctor con 25 ventas para todas las ciudades.

PASOS

Seleccionamos un objeto de texto:

    1. Cambiamos en la propiedad de Presentación el atributo de Texto -> Imagen. (Paso 1.png)
    2. Abrimos nuestro editor de expresiones y colocamos el siguiente código: (Paso 2.png)

IF(sum(Marcos) >= sum(Luis) and sum(Marcos) >= sum(Andres) and sum(Marcos) >= sum(Victor),'C:\Marcos.jpg',

IF(sum(Andres) >= sum(Luis) and sum(Andres) >= sum(Marcos) and sum(Andres) >= sum(Victor),'C:\Andres.jpg',

IF(sum(Victor) >= sum(Luis) and sum(Victor) >= sum(Andres) and sum(Victor) >= sum(Marcos),'C:\Victor.jpg'))))

¡Listo!

3 Replies
jvitantonio
Luminary Alumni
Luminary Alumni

Hola Raul,

Yo haria varios cambios a tu aplicación para hacerla mas escalable. En tu ejemplo usas columnas para los nombres. En un caso real, tendrias muchos vendedores y cada vez que tienes un vendedor nuevo, debes agreagar una columna. Lo mejor sería usar CrossTable para convertir las columnas en filas. De esta manera puedes usar más facilmente las funciones y reducir el codigo en tus tablas o graficos.

Fijate como se puede alcanzar el mismo resultado con una sola linea por expresión.

En tu ejemplo, con un nuevo vendedor, tambien debes ir y modificar todos tus objectos para incluir el nuevo vendedor. Con esta aplicacion que adjunto es todo automatico y escalable. Espero te sea de utilidad.

Lamentablemente no puedo adjuntar el ejemplo aqui ya que no me deja pero si me envias tu correo electronico te lo puedo pasar por ese medio.

Saludos

JV

rulohx87
Contributor III
Contributor III
Author

Que tal =D !

Gracias por la aportación. De hecho entiendo a lo que vas, efectivamente entre más columnas haya las comparaciones se exponencian por lo que es conveniente usar una tabla cruzada.

Tal vez se parezca a la que tienes en mente. Y con gusto mi mail es saucedo.raul@mbn.com.mx para compartir conocimiento

Crosstable(Vendedor, Ventas)

Campo1,

Campo2,

...      FROM "ARCHIVO"

EXIT script;

Este aporte lo haré como complemento al presente muy pronto.

Obtener ranking de vendedores para una selección o conjunto de selecciones.

=IF(Max(aggr(Sum(Ventas),Vendedor)) = sum(Luis), 'C:\Luis.png') ------ Primero

=IF(Max(aggr(Sum(Ventas),Vendedor)2) = sum(Luis), 'C:\Luis.png') ---- Segundo

=IF(Max(aggr(Sum(Ventas),Vendedor)3) = sum(Luis), 'C:\Luis.png') ---- Tercero

Creo que también se puede hacer con match() y pick() para reducir las sentencias.

jvitantonio
Luminary Alumni
Luminary Alumni

Hola Raul, ahi te envie un email. Luego fijate.

Saludos

JV