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

Subtotal calcula de manera diferente al nivel de fila

Hola

Tengo una matriz usando una medida con la expresión DAX 'Gastos / Ventas'.

Por lo tanto, cada fila representa el % de las ventas totales. ver a continuación:

Fraze_1-1618876763568.png

Actualmente mi subtotal para el promedio de 3 años sería del 30,25%; sin embargo, quiero que mi sub-total de nivel de fila sea el inverso de lo que es actualmente. Así que las filas individuales son correctas, pero el subtotal debe ser (1 - 30.25%) = 69.75%

¿Cómo puedo modificar por expresión DAX para que calcule el sub-total ligeramente diferente del resto de la tabla.

gracias

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

No @Fraze

Puede utilizar HASONEVALUE para modificar la lógica de cálculo del subtotal.

Trate de medir como:

IF(
    HASONEVALUE('Table'[Column]),
    measure,
    new measure    //calculation logic of '69.75%'
)

Saludos

enlace

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

View solution in original post

5 REPLIES 5
Syndicate_Admin
Administrator
Administrator

No @Fraze

Puede utilizar HASONEVALUE para modificar la lógica de cálculo del subtotal.

Trate de medir como:

IF(
    HASONEVALUE('Table'[Column]),
    measure,
    new measure    //calculation logic of '69.75%'
)

Saludos

enlace

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

Syndicate_Admin
Administrator
Administrator

Hola Fraze,

Puede utilizar la función ISFILTERED() para determinar si se está filtrando el año y calcular la medida en consecuencia. En mi ejemplo se supone que sus datos se estructuran como se indica a continuación:

jonoling_0-1618881738218.png

Con la función DAX:

COGS% = 

AVERAGEX(
    'Table',
    IF(
        ISFILTERED('Table'[Year]),
        DIVIDE('Table'[Expenses],'Table'[Sales]),
       1 - DIVIDE('Table'[Expenses],'Table'[Sales])
    )
)

Devuelve el siguiente resultado:

jonoling_1-1618881994090.png

Si tiene otras segmentaciones de datos o filtros que afectan al campo Año, es posible que deba usar una regla lógica como COUNTROWS(DISTINCT()) o similar para calcular el escenario de 3 años.

Editar: Se ha ajustado la función para utilizar la función divide segura en lugar de barras diagonales.

Gracias por la información.

Desafortunadamente, mi cita tiene algunos filtros en segundo plano. Además de lo que ya mencionó, cualquier otra visión sobre cómo lidiar mejor con eso.

gracias

Hola Fraze,

¿Sólo está haciendo un seguimiento para ver si esto resolvió su problema?

Puede utilizar DISTINCTCOUNT('Table'[Year]) > 1 en lugar de la instrucción ISFILTERED('Table'[Year]) en la función anterior y que todavía debería funcionar suponiendo que desee que los subtotales no individuales muestren el lado inverso.

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.