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

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

Reply
Syndicate_Admin
Administrator
Administrator

Diferencia de cada subcategoría en la matriz visual

Hola a todos

Tengo los datos 'Tabla'

navafolk_0-1750147041050.png

El aspecto visual de la matriz básica es el siguiente (la fila va con 2 categorías de nivel: Version_date -> Producto)

navafolk_1-1750147215779.pngnavafolk_2-1750147237622.png

Por favor, ayude a crear una medida agregando filas para la diferencia entre las 2 últimas Version_date. La diferencia será para 2 niveles de fila: Version_date, Producto. Mi expectativa sería:

navafolk_3-1750147509168.png

Gracias a todos.

Probé un poco de var y medida de retorno, pero puede dar diferencia solo para Version_date nivel.

Diff = 
var _max=CALCULATE(MAX('Table'[Version_date]),ALLSELECTED('Table'))
var _min=CALCULATE(MAX('Table'[Version_date]),FILTER(ALLSELECTED('Table'),[Version_date]<_max))
return 
IF(ISINSCOPE('Table'[Version_date]),
   sum('Table'[Amount]),
   CALCULATE(sum('Table'[Amount]),FILTER('Table','Table'[Version_date]=_max))-CALCULATE(sum('Table'[Amount]),FILTER('Table','Table'[Version_date]=_min)))

9 REPLIES 9
Syndicate_Admin
Administrator
Administrator

@navafolk ,

Haga un seguimiento para ver si su consulta se resuelve y si alguna de las respuestas ayudó.

Si necesita más ayuda, no dude en ponerse en contacto con nosotros.

Gracias.

Syndicate_Admin
Administrator
Administrator

Hola @navafolk ,
Queríamos tener la amabilidad de hacer un seguimiento de su consulta. Si aún no se ha resuelto y necesita más ayuda, comuníquese con nosotros.
Gracias.

Syndicate_Admin
Administrator
Administrator

@navafolk ,

Gracias por publicar en la comunidad de mIcrosoft Fabric y compartir el requisito detallado.

Para obtener la matriz exactamente como la describió, incluida la fila debajo de la versión y el desglose del producto, utilicé una tabla calculada.

La tabla calculada (DeltaTable) compara los dos valores de Version_date más recientes y crea filas que representan la diferencia en el importe de cada producto y mes. Luego combiné esto con la mesa original.

Este es el DAX de la tabla calculada (DeltaTable):

DeltaTable = 
VAR AllVersions = VALUES(Data[Version_date])
VAR MaxVersion = CALCULATE(MAX(Data[Version_date]), ALL(Data))
VAR PrevVersion = CALCULATE(
    MAX(Data[Version_date]),
    FILTER(ALL(Data[Version_date]), Data[Version_date] < MaxVersion)
)
VAR V1 = FILTER(Data, Data[Version_date] = PrevVersion)
VAR V2 = FILTER(Data, Data[Version_date] = MaxVersion)

RETURN
SELECTCOLUMNS(
    ADDCOLUMNS(
        GENERATE(
            SUMMARIZE(V2, Data[Product], Data[Date]),
            VAR p = [Product]
            VAR d = [Date]
            VAR amtV1 = CALCULATE(SUM(Data[Amount]), V1, Data[Product] = p, Data[Date] = d)
            VAR amtV2 = CALCULATE(SUM(Data[Amount]), V2, Data[Product] = p, Data[Date] = d)
            RETURN ROW("Product1", p, "Date1", d, "DeltaAmount", amtV2 - amtV1)
        ),
        "Month", FORMAT([Date], "MMMM")
    ),
    "Version", "Total",
    "Product", [Product],
    "Month", [Month],
    "Amount", [DeltaAmount]
)

A continuación, combínalo con la tabla original utilizando:

CombinedTable = 
UNION (
    SELECTCOLUMNS(
        Data,
        "Version", FORMAT([Version_date], "dd-MM-yyyy"),
        "Product", [Product],
        "Month", FORMAT([Date], "MMMM"),
        "Amount", [Amount]
    ),
    DeltaTable
)

Se usó este objeto CombinedTable en el objeto visual de la matriz colocando:

Versión y producto en filas

Mes en columnas

TotalAmount1 en valores

Esta configuración dio la estructura exacta que mostró en su ejemplo. Las filas se actualizan automáticamente en función de las dos últimas fechas de versión de los datos.

vveshwaramsft_0-1750763017770.png

Espero que esto ayude. Póngase en contacto con nosotros para obtener más ayuda.

Considere marcar la respuesta útil como Solución aceptada para ayudar a otros con problemas similares.

Por favor, encuentre el archivo .pbix adjunto como referencia.
Además, gracias a @Elena_Kalina por su respuesta y acercamiento.

Hola @navafolk ,
Solo quería comprobar si las respuestas proporcionadas fueron útiles. En caso afirmativo, considere marcar la respuesta útil como "Solución aceptada" para ayudar a otros con consultas similares. Si necesita más ayuda, comuníquese con nosotros.
Gracias.

Syndicate_Admin
Administrator
Administrator

@navafolk

En función de sus requisitos, necesita una medida que calcule las diferencias entre las dos fechas de la versión más reciente tanto en el nivel de Version_date como en el nivel de producto. Pruebe esta solución:

Amount Diff = 
VAR CurrentVersion = SELECTEDVALUE('Table'[Version_date])
VAR CurrentProduct = SELECTEDVALUE('Table'[Product])

// Get the two most recent version dates in context
VAR AllVersions = CALCULATETABLE(VALUES('Table'[Version_date]), ALLSELECTED('Table'))
VAR MaxVersion = MAXX(AllVersions, [Version_date])
VAR PreviousVersion = MAXX(FILTER(AllVersions, [Version_date] < MaxVersion), [Version_date])

// Calculate amounts for current context
VAR CurrentAmount = SUM('Table'[Amount])

// Calculate amounts for max and previous versions
VAR MaxVersionAmount = 
    CALCULATE(
        SUM('Table'[Amount]),
        FILTER(
            ALLSELECTED('Table'),
            'Table'[Version_date] = MaxVersion &&
            (ISBLANK(CurrentProduct) || 'Table'[Product] = CurrentProduct)
    )

VAR PreviousVersionAmount = 
    CALCULATE(
        SUM('Table'[Amount]),
        FILTER(
            ALLSELECTED('Table'),
            'Table'[Version_date] = PreviousVersion &&
            (ISBLANK(CurrentProduct) || 'Table'[Product] = CurrentProduct)
    )

// Determine what to return based on context
RETURN
    IF(
        ISINSCOPE('Table'[Version_date]),
        // If at Version_date level, show regular amount or difference
        IF(
            COUNTROWS(AllVersions) >= 2 && CurrentVersion = MaxVersion,
            CurrentAmount - PreviousVersionAmount,
            CurrentAmount
        ),
        // If at Product level or total, show difference
        IF(
            COUNTROWS(AllVersions) >= 2,
            MaxVersionAmount - PreviousVersionAmount,
            BLANK()
        )
    )

Gracias, @Elena_Kalina.

Lo he intentado, pero ha sido bastante raro. Por favor, ayúdanos con esto.

navafolk_0-1750153105865.png

He estado probando diferentes formas de hacer que esta matriz se vea exactamente como quieres, pero me estoy encontrando con un obstáculo. No importa lo que intente, la "Diferencia Total" sigue apareciendo varias veces en los subtotales, lo que deja extraños espacios vacíos y hace que todo se vea desordenado.

Lo más cerca que he llegado es hacer una matriz separada con solo esas tres filas clave que necesita (como en su captura de pantalla de ejemplo). No es perfecto, pero como solución rápida, tal vez podríamos pegar esta versión simplificada junto a su mesa original.

Elena_Kalina_0-1750168946826.png

Elena_Kalina_1-1750169012497.png

Total Amount = SUM('Table'[Amount])

Product Difference =
VAR CurrentProduct = SELECTEDVALUE('Table'[Product]) VAR Sum07Jun = CALCULATE( [Total Amount], 'Table'[Version_date] = DATE(2025,6,7), 'Table'[Product] = CurrentProduct ) VAR Sum01Jun = CALCULATE( [Total Amount], 'Table'[Version_date] = DATE(2025,6,1), 'Table'[Product] = CurrentProduct ) // For the "Total" row VAR TotalSum07Jun = CALCULATE( [Total Amount], 'Table'[Version_date] = DATE(2025,6,7) ) VAR TotalSum01Jun = CALCULATE( [Total Amount], 'Table'[Version_date] = DATE(2025,6,1) ) RETURN IF( ISINSCOPE('Table'[Product]), // Difference for products A/B Sum07Jun - Sum01Jun, // Difference for the "Total" row TotalSum07Jun - TotalSum01Jun )

Quizás te sea útil a las fórmulas que utilicé para esto

Lo siento, es mi culpa. Voy a revisar mi solución.

Helpful resources

Announcements
July 2025 community update carousel

Fabric Community Update - July 2025

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

July PBI25 Carousel

Power BI Monthly Update - July 2025

Check out the July 2025 Power BI update to learn about new features.

Top Solution Authors
Top Kudoed Authors