Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Tengo un escenario de negocio por el cual necesitamos asignar diferentes dólares de reembolso total a un cliente, basado en alcanzar umbrales mínimos (ingresos enviados). La idea es que, dependiendo de dónde esté su valor de ingresos enviados dentro de los rangos, obtienen el % de reembolso * los ingresos enviados. En el caso de que sean menores a < 1000 obtendrían .05%. De 1000 a 4999, obtendrían el 1%. 5000 a 9999 obtendrían el 2%, etc.
Estoy tratando de usar IF o SWITCH en una medida, pero DAX no me permitirá usar solo los nombres de columna a menos que ponga un MAX, MIN, etc delante del nombre de la columna. Cualquier orientación sobre cómo configurar esto sería genial.
Tabla de rebajas
cliente | Ingresos mínimos | % de descuento |
Cliente A | 1000 | .01 |
Cliente A | 5000 | .02 |
Cliente A | 10000 | .03 |
Por lo tanto, suponiendo que estos eran los valores en la tabla de envío, entonces en enero el cliente ganaría un reembolso de $ 1.875 (375 * .005). En febrero, cumplieron con el umbral de $10 mil, por lo que serían los ingresos enviados * 3%.
Tabla de envíos
mes | cliente | Ingresos enviados |
Enero | Cliente A | 375 |
Febrero | Cliente A | 11500 |
Marzo | Cliente A | 6000 |
Solved! Go to Solution.
Como dijo Amitchandak, podría agregar otra medida para modificar el valor total basado en la medida original:
_Value =
SUM ( Shipments[Shipped Revenue] )
* MAXX (
FILTER ( Rebate, MAX ( Shipments[Shipped Revenue] ) > [Minimum Revenue] ),
[Rebate %])
Otra medida:
Internal Use % =
VAR _new =
SUMMARIZE ( 'Shipments', [Customer], [Month], "_total", [_Value] )
RETURN
IF ( HASONEVALUE ( 'Shipments'[Customer] ), SUMX ( _new, [_total] ) )
La salida final se muestra a continuación:
Saludos
Apoyo comunitario Team_ Yalan Wu
Si este post ayuda, entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Como dijo Amitchandak, podría agregar otra medida para modificar el valor total basado en la medida original:
_Value =
SUM ( Shipments[Shipped Revenue] )
* MAXX (
FILTER ( Rebate, MAX ( Shipments[Shipped Revenue] ) > [Minimum Revenue] ),
[Rebate %])
Otra medida:
Internal Use % =
VAR _new =
SUMMARIZE ( 'Shipments', [Customer], [Month], "_total", [_Value] )
RETURN
IF ( HASONEVALUE ( 'Shipments'[Customer] ), SUMX ( _new, [_total] ) )
La salida final se muestra a continuación:
Saludos
Apoyo comunitario Team_ Yalan Wu
Si este post ayuda, entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
@texmexdragon, prueba dos meaures como
M1= sum(Envíos[Ingresos enviados]) * maxx(filter(Rebate , Rebate,[Customer] = max(Shipments[Customer]) && sum(Shipments[Shipped Revenue]) >Customer[Minimum Revenue]),[Rebate %])
M1 debe trabajar con envíos[Cliente],Envíos[Mes]
o tratar de gustar
importe del reembolso = sumx(resume(Envíos, Envíos[Cliente],Envíos[Mes], "_1",[M1]),[_1])
Hola @amitchandak veo lo que la fórmula está haciendo ahora, y donde el "error" es con la suma. La medida realmente funciona bien en el nivel de fila. Pero debido a que mi último umbral en mis datos es $1,000,000 - la calcuación está usando esa suma total * por el % máximo en la tabla. En este caso, $2,391,531 * 3.5% que me está dando el total incorrecto. Realmente estoy buscando el total de las filas que se muestran en la tabla (a partir de $30,405).
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
1 | |
1 | |
1 | |
1 |