Jump to content

calcular porcentaje según ingreso acumulado Filemaker


maclow
 Share

Recommended Posts

¿Cómo podría calcular con Filemaker 9 la comisión de un comercial en cada venta en función del total acumulado a lo largo del mes por él mismo.

Por ejemplo:

La comisión de cada venta es del 30% hasta que el total acumulado sea 6000€.

De 6000 hasta 12000€ será del 35%

Y a partir de 12000€ el 40%

Link to comment
Share on other sites

Menom, muchas gracias por tu ofrecimiento.

 

Me funciona perfectamente, el cálculo con case.

 

Ahora la duda la tengo en cómo hacer que calcule los ingresos acumulados, cada mes desde cero.

 

En cuanto a lo de enviarte el archivo, encantado.

Edited by maclow
Link to comment
Share on other sites

Siguiendo con el porcentaje a aplicar, veo un pequeño error de cálculo:

 

Con la función case me calcula para el siguiente apunte el porcentaje a aplicar según los ingresos mensuales (30% si es menor que 6000, 35% entre 6001 y 12000, y 40% mayor de 12000)

Pero vamos a suponer que en el último apunte lleva unos ingresos acumulados de 5500 y hace una venta de 2000.

No aplicará el 35% hasta el siguiente apunte donde habrá acumulado 7500.

Luego habrá 1500 € (7500-6000) que le aplicará el 30% y le corresponde el 35%

 

Espero haberme explicado bien.

Link to comment
Share on other sites

Hola Maclow,

 

Imaginando más o menos como tienes hecha la función, dices que te tiene en cuenta los importes a partir del siguiente apunte, pero creo que debería tener un campo acumulado por fechas que te sumara en todo momento el acumulado de un rango de fechas, ya sea por mes, quincena o como quieras personalizarlo.

 

Un saludo,

Menom

Link to comment
Share on other sites

  • 1 month later...

Hola a todos, después de nuestras merecidas vacaciones, seguimos por donde nos quedamos.

 

Vamos a ver, estoy intentando hacer el siguiente cálculo:

Si los ingresos acumulados son menores o iguales a 6000, la comisión será del 30%,

Si los ingresos acumulados son mayores de 6000 y menores o iguales a 12000 la comisión será de 1800 (30% de los primeros 6000) más el 35% del resto

Si los ingresos acumulados son mayores de 12000, la comisión será de 1800 (30% de los primeros 6000) + 2100 (el 35% de los siguientes 6000) + más el 40% del resto

 

función Case:

 

Case ( prueba1 ; resultado1 ; prueba2 ; resultado2 ; resultado por defecto )

 

prueba1: Si la producción acumulada (acumuladoProduccion) es menor o igual que 6000, calcula el 30%

prueba2: Si no cumple prueba1 y es menor o igual que 1200, calcula el 35% y le suma 1800 (30% de los primeros 6000)

resultado por defecto: Si no cumple prueba 1 ni prueba2 y es mayor que 12000, calcula el 40% y le suma 3900 (30% de los primeros 6000 + 35% de los segundos 6000)

 

Case (

acumuladoProduccion ≤ 6000 ; (,3) * acumuladoProduccion ;

acumuladoProduccion ≤ 1200 ; ((,35) * (acumuladoProduccion-6000))+ 1800 ;

((,4) * (acumuladoProducción-12000)) + 3900

)

 

Estoy probando y sólo funciona cuando cumple la primera condición (≤ 6000) pero si por ejemplo le pongo como valor de acumuladoProduccion, 7000

debería dar como resultado el 30% de 6000 (1800) + el 35% de 1000 (350) = 2150, pero me da 1900

 

¿Alguién sabe decirme qué hago mal?

 

Edito:

 

Estoy comprobando que me ignora el 2º supuesto (acumuladoProduccion ≤ 1200 ; ((,35) * (acumuladoProduccion-6000))+ 1800) y me está aplicando el resultado por defecto pero no entiendo qué hago mal.

Edited by maclow
Link to comment
Share on other sites

Hola,

 

El orden del case tendría que ser inverso, porque ahora se cumplirían todos los casos para un valor inferior a 6000, y aplica el caso por defecto:

En el caso de los 7000 se cumple el segundo y el por defecto, y imprime el último resultado.

 

(,4) * (acumuladoProduccion - 12000) + 3900

0,4 * -5000 + 3900 = 1900

 

Case (

acumuladoProduccion > 12000 ; (,4) * (acumuladoProduccion -12000) + 3900 ;

acumuladoProduccion > 6000 y acumuladoProduccion <= 12000 ; ((,35) * (acumuladoProduccion-6000))+ 1800 ;

acumuladoProduccion <= 6000; ((,3) * (acumuladoProducción))

)

 

No se programar con Filemaker, pero la segunda condición han de ser 2: mayor que 6000 y menor/igual que 12000

 

saludos!

Edited by quim_
Link to comment
Share on other sites

Case (

acumuladoProduccion ≤ 6000 ; (,3) * acumuladoProduccion ;

acumuladoProduccion ≤ 1200 ; ((,35) * (acumuladoProduccion-6000))+ 1800 ;

((,4) * (acumuladoProducción-12000)) + 3900

)

 

Estoy probando y sólo funciona cuando cumple la primera condición (≤ 6000) pero si por ejemplo le pongo como valor de acumuladoProduccion, 7000

debería dar como resultado el 30% de 6000 (1800) + el 35% de 1000 (350) = 2150, pero me da 1900

 

¿Alguién sabe decirme qué hago mal?

 

Edito:

 

Estoy comprobando que me ignora el 2º supuesto (acumuladoProduccion ≤ 1200 ; ((,35) * (acumuladoProduccion-6000))+ 1800) y me está aplicando el resultado por defecto pero no entiendo qué hago mal.

 

En el segundo caso estás poniendo mil doscientos (1200) en vez de docemil (12000).

 

 

 

Link to comment
Share on other sites

Muchas gracias Xtampida,

entraba en el foro para poner que ya me funcionaba, cuando he leído tu mensaje.

Ése era el error :blush: aunque no lo había localizado, lo he reescrito todo y se había solucionado pero no sabía qué había puesto mal.

A veces las cosas más tontas nos complican la vida.

Link to comment
Share on other sites

Es el típico error por el que pasas la vista mil veces y no lo ves. Y encima cuando preguntas en un foro la mayoría de la gente piensa que te has equivocado al escribirlo ahí, no en el compilador, y tampoco lo tiene en cuenta. Yo me he pensado un rato si contestarte o no laugh.gif.

Edited by Xtampida
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.