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

Cómo sumar valores semiaditivos

Hola

Tengo una solución de trabajo en esto, pero cuando hay alguna conversión de algún tipo involucrada, su rendimiento sufre mucho. Por lo tanto, estoy buscando un alterativo que funcione mejor.

ABValor
12345ABC-11110
12345ABC-11210
12345ABC-11310
54321EFG-10090
54321EFG-10190
9999ZZ-20050
9999ZZ-21050
9999ZZ-22050
9999ZZ-22050

Tengo una tabla de hechos que tiene la columna dimensional "B", que es el nivel más granular de la tabla. Tengo la columna dimensional "A" donde pueden existir múltiples valores de columna "B" en cada valor de columna "A". La parte difícil es que la columna numérica "Valor" está en la columna "A", por lo que cada valor está duplicado.

Y "Valor" debe ser sumen por otras dimensiones, por lo que estoy usando SUMX.

Mi definición de medida actual es:

My Measure =
SUMX (
    ADDCOLUMNS (
        VALUES ( 'Table'[A] ),
        "My Value",
            CALCULATE (
                MIN ( 'Table'[Value] ),
                ALLEXCEPT ( 'Table', 'Table'[A] )
            )
    ),
    [My Value]
)

¿Podrías pensar en una alternativa que funcione mejor?

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Pude encontrar una mejor solución en la que simplemente agregué CALCULATETABLE() alrededor de la función VALUES(). No entiendo completamente por qué funciona mejor cuando se usa con otros filtros visuales (con y sin, ambos generan exactamente el mismo plan de consulta).

Probablemente tenga que hacerlo con el contexto del filtro donde con CALCULATETABLE(), filtrará los valores en la fase correcta

My Measure that Performs Better =
SUMX (
    ADDCOLUMNS (
        CALCULATETABLE( VALUES ( 'Table'[A] ) ),
        "My Value",
            CALCULATE (
                MIN ( 'Table'[Value] ),
                ALLEXCEPT ( 'Table', 'Table'[A] )
            )
    ),
    [My Value]
)

View solution in original post

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

Pude encontrar una mejor solución en la que simplemente agregué CALCULATETABLE() alrededor de la función VALUES(). No entiendo completamente por qué funciona mejor cuando se usa con otros filtros visuales (con y sin, ambos generan exactamente el mismo plan de consulta).

Probablemente tenga que hacerlo con el contexto del filtro donde con CALCULATETABLE(), filtrará los valores en la fase correcta

My Measure that Performs Better =
SUMX (
    ADDCOLUMNS (
        CALCULATETABLE( VALUES ( 'Table'[A] ) ),
        "My Value",
            CALCULATE (
                MIN ( 'Table'[Value] ),
                ALLEXCEPT ( 'Table', 'Table'[A] )
            )
    ),
    [My Value]
)
Syndicate_Admin
Administrator
Administrator

Hola

En una tabla simple, muestre el resultado exacto que está esperando.

Se ha añadido otra columna. ¡Gracias!

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.

Top Kudoed Authors