cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
SergioSilva
Frequent Visitor

Múltiples KPI objetivo para el cálculo de reembolso de compra de proveedores

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.

1 ACCEPTED SOLUTION
v-janeyg-msft
Community Support
Community Support

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 )

1.png

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.

View solution in original post

6 REPLIES 6
SergioSilva
Frequent Visitor

@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.

SergioSilva
Frequent Visitor

@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.

v-janeyg-msft
Community Support
Community Support

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 )

1.png

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.

View solution in original post

SergioSilva
Frequent Visitor

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:

compras.jpg

Entonces tengo otra tabla con los acuerdos de devolución:

acordos_marcas.jpg

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.

visual_kpi.jpg

No tiene que ser exacly así, ya que estoy abierto a sugestions.

¡Gracias una vez más!

v-janeyg-msft
Community Support
Community Support

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.

Helpful resources

Announcements
PBI User Groups

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group

April Update

Check it Out!

Click here to read more about the April 2021 Updates!

secondImage

The largest Power BI virtual conference

100+ sessions, 100+ speakers, Product managers, MVPs, and experts. All about Power BI. Attend online or watch the recordings.

secondImage

Experience what’s next for Power BI

See the latest Power BI innovations, updates, and demos from the Microsoft Business Applications Launch Event.

Top Kudoed Authors