Tasa de comisión basada en el porcentaje de la meta

Un usuario Pregunto ✅

jajecko

Hola a todos,

Tengo problemas para calcular correctamente la comisión mensual de los representantes de ventas. Así es como debería funcionar.

Tengo un objetivo de ventas mensual establecido para cada representante de ventas.

Tengo una tabla separada con la comisión mensual máxima dada para cada representante de la siguiente manera:

jajecko_0-1617828060425.png

y aquí está la parte difícil. (Usaré el representante de ventas 01 como ejemplo)

Si el porcentaje de la meta de ventas mensuales es inferior al 80 %, el representante no recibe ninguna comisión.

si alcanza el 80%, obtiene el 50% de la comisión máxima, que es 2000.

Después de eso, por cada porcentaje por encima del 80%, obtendrá un 2,25% adicional del valor base.

Después de alcanzar el 100% de la meta, obtendrá el 2,75% por cada porcentaje anterior.

Al alcanzar el 120% de la meta, obtiene el 100% de la comisión máxima, que es 4000

entonces debería funcionar así:

jajecko_2-1617828939313.png

Lo que descubrí es que necesito tener una tabla no relacionada como esta.

jajecko_3-1617829470884.png

Tengo todas las medidas de ventas, target y porcentaje de meta listas. pero no tengo idea de cómo seguir adelante con el cálculo de esta comisión.
Realmente agradecería cualquier ayuda aquí.

jdbuchanan71

@jajecko

Va a ser algo en este sentido.

Commission Increase = 
VAR _Attain = [Attainment]
VAR _Rep = SELECTEDVALUE ( Reps[Rep] )
RETURN
    IF ( 
        ISBLANK ( _Attain ) || ISBLANK ( _Rep ), 
        BLANK(),
        CALCULATE ( 
            MAX ( Rates[Commission Rate] ), 
            Rates[Percentage of Goal] <= _Attain 
        )
)

Creo que desea comenzar su tabla de tasas de comisión en 0% en lugar de 80%, de modo que si alguien está en 55%, aún puede encontrar el 0.

jdbuchanan71_0-1617832462311.png

De todos modos, he adjuntado mi muestra para que la veas (el enlace .pbix en la parte inferior de la publicación), aquí hay una captura de pantalla de cómo se ve:

jdbuchanan71_1-1617832515941.png

jdbuchanan71

@jajecko

Va a ser algo en este sentido.

Commission Increase = 
VAR _Attain = [Attainment]
VAR _Rep = SELECTEDVALUE ( Reps[Rep] )
RETURN
    IF ( 
        ISBLANK ( _Attain ) || ISBLANK ( _Rep ), 
        BLANK(),
        CALCULATE ( 
            MAX ( Rates[Commission Rate] ), 
            Rates[Percentage of Goal] <= _Attain 
        )
)

Creo que desea comenzar su tabla de tasas de comisión en 0% en lugar de 80%, de modo que si alguien está en 55%, aún puede encontrar el 0.

jdbuchanan71_0-1617832462311.png

De todos modos, he adjuntado mi muestra para que la veas (el enlace .pbix en la parte inferior de la publicación), aquí hay una captura de pantalla de cómo se ve:

jdbuchanan71_1-1617832515941.png

jajecko

En respuesta a jdbuchanan71

Muchas gracias, no estoy seguro de cómo funciona, pero lo hace;)
Tengo problemas para entender esta medida, pero de todos modos muchas gracias por su ayuda.

Commission Payout = SUMX ( CROSSJOIN ( VALUES ( Reps[Rep] ), VALUES ( Dates[Month Year] ) ), [Commisson Base] * [Commission Increase] )

jdbuchanan71

En respuesta a jajecko

Ahora que lo miro, deberíamos hacerlo de una manera diferente, use esto en su lugar.

Commission Payout = 
	SUMX ( 
		SUMMARIZE ( Sales, Reps[Rep], Dates[Month Year] ), 
		[Commisson Base] * [Commission Increase] 
	)

Hace lo mismo, pero la tabla que se crea en la memoria será más pequeña porque solo la estamos creando para los pares Rep + Month que están en la tabla Sales en lugar de todas las combinaciones posibles.

jdbuchanan71

En respuesta a jajecko

VALORES (Repeticiones[Rep] ) nos da la lista única de representantes (cada uno solo una vez)

VALORES ( Fechas[Month Year] ) nos dan la lista única de [Month Year] (cada uno solo una vez)

CROSSJOIN ( VALORES ( Reps.[Rep] ), VALORES ( Fechas[Month Year] ) ) combina esas dos listas, por lo que tenemos todos los meses para cada representante. Esto se debe a que esa es la granularidad en la que se calcula la comisión.

SUMX ( , [Commisson Base] * [Commission Increase] ) Para cada fila de nuestra tabla CROSSJOIN calcula el [Commisson Base] * [Commission Increase]una vez hecho esto suma esa cantidad.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *