Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

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.

Reply
Ritesh_Air
Post Patron
Post Patron

Subconjuntos con medidas

Quiero calcualte sólo suma la cantidad de envío cuando hubo una devolución.

ClienteCantidad de envíoCantidad de devoluciónRetorno %
A503570%
B10055%
C34000%
D270259.25%
Total760658.55%


Así que la cantidad total de envío es 760 (50+100+340+270)
La rentabilidad total es de 65 (35+5+25)

Así que el porcentaje de retorno es: 65/760 a 8,55%, que es fácil de calcular.

Ahora, el problema es: Si sólo quiero calcular el % del envío, si hay una devolución, entonces será:


420/760 a 55% (excluir al cliente que no tuviera devoluciones).

donde 420 x 50 +100 +270 (A, B y D)
envío total 760 á 50 + 100 + 340 + 270

¿Cómo calculo esto?

Estas son mis fórmulas:

Shipment Quantity =
VAR TotalSales =
    CALCULATE (
        SUM ( 'Sales Order Detail'[Custom Quantity] ),
        'Order Type'[Order Type Transaction Group] = "Sales"
    )
RETURN
    TotalSales
Return Quantity =
VAR TotalReturns =
    CALCULATE (
        SUM ( 'Sales Order Detail'[Custom Quantity] ),
        'Order Type'[Order Type Transaction Group] = "Return/Dump"
    )
RETURN
    TotalReturns
Return % =
VAR TotalReturnDump =
    CALCULATE (
        SUM ( 'Sales Order Detail'[Custom Quantity] ),
        'Order Type'[Order Type Transaction Group] = "Return/Dump"
    )
VAR TotalSales =
    CALCULATE (
        SUM ( 'Sales Order Detail'[Custom Quantity] ),
        'Order Type'[Order Type Transaction Group] = "Sales"
    )
RETURN
    ABS ( DIVIDE ( TotalReturnDump, TotalSales, BLANK () ) )


También creé esta medida:

Brand Product Line Return Flag =
IF ( ISBLANK ( [Return Quantity] ), "NO", "YES" )

Pero no puedo usar esto en la función Filter, ya que esta es una medida.

¿Alguna ayuda?

Como en la imagen de abajo,

La primera tabla me da todos los envíos y sus valores de devolución.

La 2a tabla me da sólo Envíos donde se producen devoluciones.

Ambas tablas tienen la misma cantidad de devolución. Solo los números de envío están cambiando debido a nuestra lógica.

Y quiero calcular 3,54,539 /1,078230 y así sucesivamente....

Returns.PNG


Gracias
Ritesh

16 REPLIES 16
mahoneypat
Employee
Employee

Por favor, pruebe una expresión como esta:

New % Measure =
VAR __totalshipment =
    SUM ( Table[Shipment Quantity] )
VAR __withreturns =
    CALCULATE ( SUM ( Table[Shipment Quantity] ), Table[Returned] > 0 )
RETURN
    DIVIDE ( __withreturns, __totalshipment )

Si esto funciona para usted, márquelo como la solución. Los elogios también son apreciados. Por favor, avísame si no.

saludos

palmadita





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


New % Measure =
VAR _totalShipment =
    CALCULATE (
        SUM ( 'Sales Order Detail'[Custom Quantity] ),
        'Order Type'[Order Type Transaction Group] = "Sales"
    )
VAR __withreturns =
    CALCULATE (
        SUM ( 'Sales Order Detail'[Custom Quantity] ),
        'Order Type'[Order Type Transaction Group] = "Sales",
        ( 'Sales Order Detail'[Custom Quantity] ),
        'Order Type'[Order Type Transaction Group] = "Return/Dump"
    ) > 0
RETURN
    DIVIDE ( __withreturns, _totalShipment )

@mahoneypat

No hay suerte.

Returns with formula.PNG

Esto no es lo mismo que la medida que sugerí. El ejemplo tenía una columna para la cantidad de devolución. No veo esa columna mencionada en tu medida adaptada. Debe haber un filtro en la columna para excluir los valores 0.

saludos

palmadita





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


Sí, la cantidad de devolución también es una medida.

@mahoneypat

Lo sentimos, por la confusión, pero la cantidad de devolución se calcula de la siguiente manera:

 
( 'Sales Order Detail'[Custom Quantity] ),
        'Order Type'[Order Type Transaction Group] = "Return/Dump"

Bascialmente, 1 filtro es para Ventas, 1 es para "Devolución/Volcado" usando el mismo "Grupo de transacciones de tipo de pedido.

¿Cree que la solución podría hacerse con una tabla calculada? Nunca lo he usado, pero investigando en él.

Gracias

Ritesh

Gracias por la información adicional. Eso no parece una expresión completa. En cualquier caso, debe filtrar hacia abajo a las marcas (para ese objeto visual) que no tienen devoluciones. Aquí hay una medida modificada que debería hacer eso. No sé qué tabla tiene su columna Brand, por lo que tendrá que reemplazar Table con ese nombre.

New % Measure =
VAR _totalShipment =
    CALCULATE (
        SUM ( 'Sales Order Detail'[Custom Quantity] ),
        'Order Type'[Order Type Transaction Group] = "Sales"
    )
VAR __withreturns =
    CALCULATE (
        SUM ( 'Sales Order Detail'[Custom Quantity] ),
        'Order Type'[Order Type Transaction Group] = "Sales",
        FILTER (
            ALLSELECTED ( Table[Brand] ),
            CALCULATE (
                SUM ( 'Sales Order Detail'[Custom Quantity] ),
                'Order Type'[Order Type Transaction Group] = "Return/Dump"
            ) > 0
        )
    )
RETURN
    DIVIDE ( __withreturns, _totalShipment )

Si esto funciona para usted, márquelo como la solución. Los elogios también son apreciados. Por favor, avísame si no.

saludos

palmadita





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


New % Measure 2 = 
VAR _totalShipment =
    CALCULATE (
        SUM ( 'Sales Order Detail'[Custom Quantity] ),
        'Order Type'[Order Type Transaction Group] = "Sales"
    )
VAR __withreturns =
    CALCULATE (
        SUM ( 'Sales Order Detail'[Custom Quantity] ),
        'Order Type'[Order Type Transaction Group] = "Sales",
        FILTER (
            ALLSELECTED ( 'Product'[Product Marketing Brand] ),
            CALCULATE (
                SUM ( 'Sales Order Detail'[Custom Quantity] ),
                'Order Type'[Order Type Transaction Group] = "Return/Dump"
            ) > 0
        )
    )
RETURN
    DIVIDE ( __withreturns, _totalShipment )

@mahoneypat Viene en blanco.

Returns with formula.PNG

De acuerdo. Gracias por intentarlo. Obviamente me falta algo sobre tu modelo. Una cosa que noté es que su post original tenía cliente en la tabla de ejemplo y fue una foto posterior que tenía marca. Si se trata de columnas diferentes, es la columna Customer la que debe estar en ALLSELECTED(). Puede probar una cosa más reemplazando la parte FILTER() por el código siguiente. También usa la medida de cantidad de devolución.

FILTER (
            ALLSELECTED ( Table[Customer] ),
            [Return Quantity] > 0
        )

saludos

palmadita





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


@mahoneypat Gracias, es Brand. El cliente era sólo un ejemplo que estaba tratando de dar para decir el problema.

¿Puedo crear una tabla personalizada y seleccionar y elegir columnas de la tabla que publiqué anteriormente? Parece tan fácil, pero parece que necesita pasar por muchos aros.

gracias por su ayuda.

Puede crear una tabla calculada, pero es probable que se ejecute en el mismo problema. Básicamente, estamos tratando de hacer la tabla virtual correcta como parte de esta medida. Si está dispuesto a compartir su pbix (con datos ficticios o enviar un enlace a través de un mensaje privado), puedo averiguarlo. Alguien más puede tener una idea también.

saludos

palmadita





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


https://drive.google.com/file/d/184S_Tvmit3RT4w0vb-RyGDy86gi-T_6o/view?usp=sharing

@mahoneypat

Aquí está el archivo.

Lo que estoy buscando es:

354539/1078230

Este es el ejemplo de sólo 1 marca. Podría tener 10 marcas así que buscar eso en una mesa.

Una vez más, gracias por su ayuda.

Gracias por enviar el pbix. Esta medida devuelve el resultado deseado del 32,17%. También a continuación hay una foto con una de sus mesas, y una nueva mesa que hice con sólo marca y esta medida. Tenga en cuenta que la medida devuelve el 100% para cada fila de la tabla existente, ya que cada fila tiene retornos o no (por lo que las dos variables son las mismas cuando hay devoluciones).

% With Returns =
VAR __totalqty =
    SUM ( '2020 Actual Returns by Total Sales'[Shipment Quantity] )
VAR __totalwreturns =
    CALCULATE (
        SUM ( '2020 Actual Returns by Total Sales'[Shipment Quantity] ),
        '2020 Actual Returns by Total Sales'[Return Quantity] > 0
    )
RETURN
    DIVIDE ( __totalwreturns, __totalqty )

cost.png

Si esto funciona para usted, márquelo como la solución. Los elogios también son apreciados. Por favor, avísame si no.

saludos

palmadita





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


Gracias Pat.

@mahoneypat

Tan cerca, pero no allí todavía. 😞

So Close.PNG

El pbix que envió tenía una sola tabla, mientras que la medida de la captura de pantalla tiene varias tablas, por lo que no era represetativo del modelo de datos. Si no puede enviar el archivo pbix real, proporcione una captura de pantalla del modelo de datos/vista de diagrama, para que podamos ver las relaciones entre estas tablas.

Regars,

palmadita





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


Detailed Relationship.PNGRelationship.PNG

@mahoneypat

Gracias. Aquí está. Lo siento. Se basa en el conjunto de datos en vivo.

No estoy seguro de si hay un registro para la mayoría de las devoluciones y ventas están en filas diferentes, necesitamos alguna manera de filtrar las filas de ventas que tienen >0 devoluciones. Lo hizo en el objeto visual con un filtro en la medida Devoluciones y intenté hacerlo con FILTER(ALLSELECTED( ) en la marca de producto (para replicar lo que hizo en el objeto visual). ¿Qué más tienen en común las filas? ¿Hay una identificación de venta de padres o algo que los asocie?

Firmando pronto por la noche. Lo recogeré mañana, si alguien más no da una solución primero.

saludos

palmadita





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.