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
Syndicate_Admin
Administrator
Administrator

Proporción de ingresos ignorando negativos con totales correctos

Hola

Soy nuevo en Power BI.

Estoy tratando de calcular la proporción de ingresos por clientes y por productos (Tabla de salida a continuación).

Soy capaz de cálculo de la columna "Ingresos %"; pero no tengo éxito en obtener las dos últimas columnas "Ingresos (clientes excl -ve)" "% de ingresos (Sólo teniendo en cuenta los clientes netos +ve)".

En esta columna quiero ignorar a los clientes con ingresos negativos (después de resumir los ingresos a nivel de cliente).

Tengo una segmentación de datos en la página de informes para seleccionar el Producto.

Además, utilizaré esta salida % para calcular otras medidas.

Cualquier ayuda sería genial.

A continuación se presentan las tablas necesarias:

Entrada de tabla de datos
ProductoClienteIngresos
A110
A1-20
A230
A240
A320
A445
A425
B2-40
B110
B120
B320
B310
B445
B425

Salida requerida
ProductoClienteIngresosPorcentaje de ingresos %Ingresos (clientes excl -ve)% de ingresos (solo teniendo en cuenta los clientes netos +ve)
A1-10-6.7% - 0.0%
A27046.7% 7043.8%
A32013.3% 2012.5%
A47046.7% 7043.8%
Total 150100.0% 160100.0%
ProductoClienteIngresosPorcentaje de ingresos %Ingresos (clientes excl -ve)% de ingresos (solo teniendo en cuenta los clientes netos +ve)
B13033.3% 3023.1%
B2-40-44.4% - 0.0%
B33033.3% 3023.1%
B47077.8% 7053.8%
Total 90100.0%130100.0%
1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

No @sviv321

Tengo una prueba por su ejemplo, creo que necesita agregar una columna de código de PC para crear % de ingresos (sólo teniendo en cuenta los clientes de Red +ve).

PC Code = 'Data Table Input'[Product]&""&'Data Table Input'[Client]

1.png

A continuación, vamos a construir medidas para mostrar el resultado.

Revenue% = 
DIVIDE (
    SUMX (
        SUMMARIZE (
            'Data Table Input',
            'Data Table Input'[Product],
            'Data Table Input'[Client],
            'Data Table Input'[Revenue]
        ),
        [Revenue]
    ),
    SUMX ( ALLSELECTED ( 'Data Table Input' ), 'Data Table Input'[Revenue] )
)
%Revenue (excl -ve clients) = 
VAR _T =
    SUMMARIZE (
        'Data Table Input',
        'Data Table Input'[Product],
        'Data Table Input'[Client],
        "Revenue", SUM ( 'Data Table Input'[Revenue] )
    )
RETURN
    SUMX ( FILTER ( _T, [Revenue] > 0 ), [Revenue] )
Revenue % (Only considering Net +ve Clients) = 
VAR _PCcode =
    CALCULATETABLE (
        VALUES ( 'Data Table Input'[PC Code] ),
        FILTER ( ALL ( 'Data Table Input' ), 'Data Table Input'[Revenue] < 0 )
    )
VAR _Total =
    SUMX (
        FILTER (
            ALLSELECTED ( 'Data Table Input' ),
            NOT ( 'Data Table Input'[PC Code] IN _PCcode )
        ),
        'Data Table Input'[Revenue]
    )
RETURN
    DIVIDE ( [%Revenue (excl -ve clients)], _Total ) + 0

El resultado es el siguiente.

3.png

Seleccione A:

4.png

Seleccione B:

6.png

Saludos

Rico Zhou

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

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

No @sviv321

Tengo una prueba por su ejemplo, creo que necesita agregar una columna de código de PC para crear % de ingresos (sólo teniendo en cuenta los clientes de Red +ve).

PC Code = 'Data Table Input'[Product]&""&'Data Table Input'[Client]

1.png

A continuación, vamos a construir medidas para mostrar el resultado.

Revenue% = 
DIVIDE (
    SUMX (
        SUMMARIZE (
            'Data Table Input',
            'Data Table Input'[Product],
            'Data Table Input'[Client],
            'Data Table Input'[Revenue]
        ),
        [Revenue]
    ),
    SUMX ( ALLSELECTED ( 'Data Table Input' ), 'Data Table Input'[Revenue] )
)
%Revenue (excl -ve clients) = 
VAR _T =
    SUMMARIZE (
        'Data Table Input',
        'Data Table Input'[Product],
        'Data Table Input'[Client],
        "Revenue", SUM ( 'Data Table Input'[Revenue] )
    )
RETURN
    SUMX ( FILTER ( _T, [Revenue] > 0 ), [Revenue] )
Revenue % (Only considering Net +ve Clients) = 
VAR _PCcode =
    CALCULATETABLE (
        VALUES ( 'Data Table Input'[PC Code] ),
        FILTER ( ALL ( 'Data Table Input' ), 'Data Table Input'[Revenue] < 0 )
    )
VAR _Total =
    SUMX (
        FILTER (
            ALLSELECTED ( 'Data Table Input' ),
            NOT ( 'Data Table Input'[PC Code] IN _PCcode )
        ),
        'Data Table Input'[Revenue]
    )
RETURN
    DIVIDE ( [%Revenue (excl -ve clients)], _Total ) + 0

El resultado es el siguiente.

3.png

Seleccione A:

4.png

Seleccione B:

6.png

Saludos

Rico Zhou

Si este post ayuda, entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

@RicoZhou

Funcionó para mí. Gracias por su ayuda!!! 🙂

Syndicate_Admin
Administrator
Administrator

@sviv321 , Pruebe una medida como

calculate(divide(sum(Table[Revenue]), calculate(sum(Table[Revenue]), allselected(Table))), filter(Table, Table[Revenue]>0))

@amitchandak ,

Gracias por la rápida respuesta.

Probé la fórmula que usted sugirió, pero está regresando al 100% para todas las filas.

Incluso traté de reemplazar SUM con SUMX, pero eso tampoco ayudó.

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.