Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Hola a todos,
Estoy buscando en los últimos días una solución para un problema que tengo relacionado con algún panel de control para un departamento de compras.
El requisito es crear un íntior visual (KPI) para controlar el reembolso de diferentes proveedores o marcas.
Por ejemplo, a tener un proveedor A, se le concedió lo siguiente:
Compras
> 500 000,00 euros - reembolso 0,50 %
> 750 000,00 euros - reembolso 0,75 %
> 1 000 000,00 euros - reembolso 1,00 %
Necesito saber crear un indicador visual que cuando elijo el proveedor A muestra el paso achived, o no, la cantidad requerida para el siguiente paso y el reembolso amout calculado si se logra alguno de los pasos.
Espero haber dejado claro mi auto, pero no tengo ninguna idea de cómo implementar esto es PowerBI.
Solved! Go to Solution.
Hola, @SergioSilva
De acuerdo con su descripción, creo un modelo, a continuación, calcular tres medidas para calcular el resultado deseado.
Así:
Achieved =
VAR a =
SUMX (
FILTER ( ALL ( Table1 ), [Country] = SELECTEDVALUE ( Table1[Country] ) ),
[Amount]
)
VAR b =
CALCULATE (
MAX ( Table2[Target] ),
FILTER (
ALL ( Table2 ),
[Country] = SELECTEDVALUE ( Table1[Country] )
&& [Target] < a
)
)
RETURN
IF (
b = BLANK (),
0,
CALCULATE (
MAX ( Table2[Rebate] ),
FILTER (
ALL ( Table2 ),
[Country] = SELECTEDVALUE ( Table1[Country] )
&& [Target] = b
)
)
)
Atual rebate =
VAR a =
SUMX (
FILTER ( ALL ( Table1 ), [Country] = SELECTEDVALUE ( Table1[Country] ) ),
[Amount]
)
VAR b =
CALCULATE (
MAX ( Table2[Target] ),
FILTER (
ALL ( Table2 ),
[Country] = SELECTEDVALUE ( Table1[Country] )
&& [Target] < a
)
)
VAR c =
IF (
b = BLANK (),
0,
CALCULATE (
MAX ( Table2[Rebate] ),
FILTER (
ALL ( Table2 ),
[Country] = SELECTEDVALUE ( Table1[Country] )
&& [Target] = b
)
)
)
RETURN
a * c
Missing for next level =
VAR a =
SUMX (
FILTER ( ALL ( Table1 ), [Country] = SELECTEDVALUE ( Table1[Country] ) ),
[Amount]
)
VAR b =
CALCULATE (
MAX ( Table2[Target] ),
FILTER (
ALL ( Table2 ),
[Country] = SELECTEDVALUE ( Table1[Country] )
&& [Target] < a
)
)
VAR c =
CALCULATE (
MIN ( Table2[Target] ),
FILTER (
ALL ( Table2 ),
[Country] = SELECTEDVALUE ( Table1[Country] )
&& [Target] > a
)
)
RETURN
IF ( c - a > 0, c - a, 0 )
Aquí está mi archivo .pbix de ejemplo. Espero que ayude.
Si no resuelve su problema, por favor no dude en preguntarme.
Saludos
Janey Guo
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
@v-janeyg-msft agradecen toda la ayuda, pero el conjunto de datos y las restricciones en los reembolsos son mucho más complicados. De cualquier manera, elijo su anwser como solución, porque resolvió el problema como expliqué inicialmente.
@v-janeyg-msft gracias por la solución.
Estoy teniendo problemas para implementarlo en el proyecto atual.
Primero la tabla con compras tienen cantidad para todos los años, pero esto sólo puede tener valores para 2020, traté de cambiar la consulta para lo siguiente pero con nuestro éxito:
VAR a =
CALCULATE (SUMX (
FILTER ( ALL ( Compras ), [NumContribuinte] = SELECTEDVALUE ( Compras[NumContribuinte] )&&SELECTEDVALUE(Compras[DataDoc],YEAR(TODAY()))),
[Valor]
))
Además, cuando el destino es 0, que corresponde a ningún destino, no calcula correctamente.
Disculpen las molestias, pero ¿es posible gestionar esto?
Hola, @SergioSilva
Obviamente hay un problema con su fórmula, pero si no sé cómo es su estructura de tabla, qué campos y tipos de datos tiene, será difícil para mí ayudarle a corregirlo.
¿Podría compartir algunos datos de muestra con datos falsos? Así que podemos ayudarte pronto.
Saludos
Janey Guo
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola, @SergioSilva
De acuerdo con su descripción, creo un modelo, a continuación, calcular tres medidas para calcular el resultado deseado.
Así:
Achieved =
VAR a =
SUMX (
FILTER ( ALL ( Table1 ), [Country] = SELECTEDVALUE ( Table1[Country] ) ),
[Amount]
)
VAR b =
CALCULATE (
MAX ( Table2[Target] ),
FILTER (
ALL ( Table2 ),
[Country] = SELECTEDVALUE ( Table1[Country] )
&& [Target] < a
)
)
RETURN
IF (
b = BLANK (),
0,
CALCULATE (
MAX ( Table2[Rebate] ),
FILTER (
ALL ( Table2 ),
[Country] = SELECTEDVALUE ( Table1[Country] )
&& [Target] = b
)
)
)
Atual rebate =
VAR a =
SUMX (
FILTER ( ALL ( Table1 ), [Country] = SELECTEDVALUE ( Table1[Country] ) ),
[Amount]
)
VAR b =
CALCULATE (
MAX ( Table2[Target] ),
FILTER (
ALL ( Table2 ),
[Country] = SELECTEDVALUE ( Table1[Country] )
&& [Target] < a
)
)
VAR c =
IF (
b = BLANK (),
0,
CALCULATE (
MAX ( Table2[Rebate] ),
FILTER (
ALL ( Table2 ),
[Country] = SELECTEDVALUE ( Table1[Country] )
&& [Target] = b
)
)
)
RETURN
a * c
Missing for next level =
VAR a =
SUMX (
FILTER ( ALL ( Table1 ), [Country] = SELECTEDVALUE ( Table1[Country] ) ),
[Amount]
)
VAR b =
CALCULATE (
MAX ( Table2[Target] ),
FILTER (
ALL ( Table2 ),
[Country] = SELECTEDVALUE ( Table1[Country] )
&& [Target] < a
)
)
VAR c =
CALCULATE (
MIN ( Table2[Target] ),
FILTER (
ALL ( Table2 ),
[Country] = SELECTEDVALUE ( Table1[Country] )
&& [Target] > a
)
)
RETURN
IF ( c - a > 0, c - a, 0 )
Aquí está mi archivo .pbix de ejemplo. Espero que ayude.
Si no resuelve su problema, por favor no dude en preguntarme.
Saludos
Janey Guo
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola @v-janeyg-msft,
Gracias por la respuesta y su ayuda.
Aquí está el archivo con datos de ejemplo sample_data.xlsx.
Esta tabla tiene las compras a lo largo del año para cada marca:
Entonces tengo otra tabla con los acuerdos de devolución:
Al final, la idea es tener un control visual por marca del reembolso alcanzado y la cantidad necesaria para el siguiente objetivo si corresponde. Ejemplo.
No tiene que ser exacly así, ya que estoy abierto a sugestions.
¡Gracias una vez más!
Hola, @SergioSilva
Es un placer responder por ti.
Según tu descripción, creo que entiendo lo que necesitas. ¿Le importaría proporcionar algunos datos de muestra y su imagen de resultado esperado con onedrive, por lo que podemos ayudarle pronto.
Saludos
Janey Guo
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.