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
MSH
Frequent Visitor

Cómo obtener valores basados en varias segmentaciones de datos para condiciones múltiples

Estimados expertos,

Puede alguien ayudar para resolver esto, tengo una tabla con pocas columnas, principales son País , Productos, Año, Mes, Ventas QTY, Valor. y dos filtros de tabla, uno para seleccionar el filtro de tabla de año llamado Filter[Year], otro para seleccionar el Tipo de Cantidad o valor, nombre Filter[Type]

Capture.JPGFilter1.JPGFilter2.JPG

lo que se requiere es cuando el usuario selecciona,

seleccione QTY, y el año 2020 y 2019 y luego la suma de qty2020/qty2019

seleccione QTY, y el año 2021 y 2020 y luego la suma de qty 2021/qty2020

seleccione QTY, y el año 2021 y 2019 y luego la suma de qty 2021/qty2019

si los tres años seleccionados, luego 0 o cualquier mensaje

similar id Valor está seleccionado

Seleccione Value2, y el año 2020 y 2019 y luego la suma del valor2020/valor 2019

Seleccione value2, y el año 2021 y 2020 y luego la suma del valor2021/valor 2020

Seleccione value2, y el año 2021 y 2019 y luego la suma del valor 2021/valor 2019

si los tres años seleccionados, luego 0 o cualquier mensaje.

puede algunos expertos por favor me ayudan

1 ACCEPTED SOLUTION
v-eqin-msft
Community Support
Community Support

Hola @MSH ,

Según mi opinión, desea calcular el QTY / valor de la división de año más grande el año anterior, ¿verdad?

Puede utilizar la siguiente fórmula después de despivot las columnas QTY y Value:

10.19.2.1.gif

Measure =
VAR _seleYear =
    ALLSELECTED ( 'Table'[Year] )
VAR _QTYOrValue =
    SWITCH (
        SELECTEDVALUE ( 'Table'[Attribute] ),
        "QTY", CALCULATE ( SUM ( 'Table'[Value.1] ), 'Table'[Attribute] = "QTY" ),
        "Value", CALCULATE ( SUM ( 'Table'[Value.1] ), 'Table'[Attribute] = "Value" )
    )
VAR _seleAttribute =
    SELECTEDVALUE ( 'Table'[Attribute] )
VAR _countSelectedItems =
    CALCULATE ( COUNTROWS ( FILTERS ( 'Table'[Year] ) ), _seleYear )
VAR _thelargerYear =
    CALCULATE (
        MAX ( 'Table'[Year] ),
        FILTER ( 'Table', 'Table'[Year] IN _seleYear )
    )
VAR _thePreviousYear =
    CALCULATE (
        MIN ( 'Table'[Year] ),
        FILTER ( 'Table', 'Table'[Year] IN _seleYear )
    )
RETURN
    IF (
        _countSelectedItems = 2,
        CALCULATE (
            SUM ( 'Table'[Value.1] ),
            FILTER (
                'Table',
                'Table'[Attribute] = _seleAttribute
                    && 'Table'[Year] = _thelargerYear
            )
        )
            / CALCULATE (
                SUM ( 'Table'[Value.1] ),
                FILTER (
                    'Table',
                    'Table'[Attribute] = _seleAttribute
                        && 'Table'[Year] = _thePreviousYear
                )
            ),
        0
    )

Mi visualización tiene este aspecto:10.19.2.2.PNG

Aquí está el archivo pbix.

¿He respondido a tu pregunta? Por favor, marque mi respuesta como solución. Muchas gracias.
Si no es así, cargue algunas muestras de datos insensibles y la salida esperada.

Saludos
Eyelyn Qin

View solution in original post

2 REPLIES 2
v-eqin-msft
Community Support
Community Support

Hola @MSH ,

Según mi opinión, desea calcular el QTY / valor de la división de año más grande el año anterior, ¿verdad?

Puede utilizar la siguiente fórmula después de despivot las columnas QTY y Value:

10.19.2.1.gif

Measure =
VAR _seleYear =
    ALLSELECTED ( 'Table'[Year] )
VAR _QTYOrValue =
    SWITCH (
        SELECTEDVALUE ( 'Table'[Attribute] ),
        "QTY", CALCULATE ( SUM ( 'Table'[Value.1] ), 'Table'[Attribute] = "QTY" ),
        "Value", CALCULATE ( SUM ( 'Table'[Value.1] ), 'Table'[Attribute] = "Value" )
    )
VAR _seleAttribute =
    SELECTEDVALUE ( 'Table'[Attribute] )
VAR _countSelectedItems =
    CALCULATE ( COUNTROWS ( FILTERS ( 'Table'[Year] ) ), _seleYear )
VAR _thelargerYear =
    CALCULATE (
        MAX ( 'Table'[Year] ),
        FILTER ( 'Table', 'Table'[Year] IN _seleYear )
    )
VAR _thePreviousYear =
    CALCULATE (
        MIN ( 'Table'[Year] ),
        FILTER ( 'Table', 'Table'[Year] IN _seleYear )
    )
RETURN
    IF (
        _countSelectedItems = 2,
        CALCULATE (
            SUM ( 'Table'[Value.1] ),
            FILTER (
                'Table',
                'Table'[Attribute] = _seleAttribute
                    && 'Table'[Year] = _thelargerYear
            )
        )
            / CALCULATE (
                SUM ( 'Table'[Value.1] ),
                FILTER (
                    'Table',
                    'Table'[Attribute] = _seleAttribute
                        && 'Table'[Year] = _thePreviousYear
                )
            ),
        0
    )

Mi visualización tiene este aspecto:10.19.2.2.PNG

Aquí está el archivo pbix.

¿He respondido a tu pregunta? Por favor, marque mi respuesta como solución. Muchas gracias.
Si no es así, cargue algunas muestras de datos insensibles y la salida esperada.

Saludos
Eyelyn Qin

Muchas gracias

Funcionó

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.