Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
5 years ago
Solved

Resumir

Hola

Soy nuevo en DAX y actualmente atascado tratando de obtener el siguiente resultado, tengo una tabla Rawdata y a continuación muestro una Tabla de Resultados que me gustaría tener como resultado, debería agregar los datos como se describe en la columna Total en la Tabla de resultados:

RawdataTable

FechaFábricaTurnoQty
01/08/2021AMañana5
01/08/2021ATarde11
01/08/2021ANoche4
02/08/2021AMañana7
02/08/2021ATarde8
02/08/2021ANoche6

Tabla de resultados:

FechaFábricaTotal
02/08/2021A= (01/08/2021| Noche| Cantidad*0.75) + (02/08/2021| Mañana| Cantidad*1.0) + (02/08/2021| Tarde| Cantidad*1.0) + (02/08/2021| Noche| Cantidad*0.25) = 19.5

Si simplemente uso resumir grupo por fecha y fábrica, obtendría un 21 incorrecto en ese ejemplo. ¿Alguna idea o pista sobre cómo puedo lograr esto es muy apreciada?

Muchas gracias

Editar: imagen cambiada para tablas reales con el fin de facilitar la copia y el pegado

  • Hay @eleon3 ,

    Utilice la siguiente fórmula para crear una medida:

    Measure =
    VAR _pre =
        CALCULATE (
            SUM ( 'Table'[Qty] ),
            FILTER (
                ALLSELECTED ( 'Table' ),
                [Date]
                    = MAX ( 'Table'[Date] ) - 1
                    && [Factory] = MAX ( 'Table'[Factory] )
                    && [Shift] = "Night"
            )
        ) * 0.75
    VAR _mornAndAfter =
        CALCULATE (
            SUM ( 'Table'[Qty] ),
            FILTER (
                ALLSELECTED ( 'Table' ),
                [Date] = MAX ( 'Table'[Date] )
                    && [Factory] = MAX ( 'Table'[Factory] )
                    && [Shift] IN { "Morning", "Afternoon" }
            )
        )
    VAR _night =
        CALCULATE (
            SUM ( 'Table'[Qty] ),
            FILTER (
                ALLSELECTED ( 'Table' ),
                [Date] = MAX ( 'Table'[Date] )
                    && [Factory] = MAX ( 'Table'[Factory] )
                    && [Shift] = "Night"
            )
        ) * 0.25
    RETURN
        _pre + _mornAndAfter + _night
    

    Aquí está el resultado final:

    Eyelyn9_0-1631519053541.png

    Saludos
    Eyelyn Qin
    Si esta publicación ayuda,entonces considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

4 Replies

  • si eres nuevo en DAX, entonces esta es una pregunta bastante alta.

    No dijiste si querías esto como una medida o columna calculada. Aquí hay una versión de columna calculada

    lbendlin_0-1631325923685.png

  • Hay @eleon3 ,

    Utilice la siguiente fórmula para crear una medida:

    Measure =
    VAR _pre =
        CALCULATE (
            SUM ( 'Table'[Qty] ),
            FILTER (
                ALLSELECTED ( 'Table' ),
                [Date]
                    = MAX ( 'Table'[Date] ) - 1
                    && [Factory] = MAX ( 'Table'[Factory] )
                    && [Shift] = "Night"
            )
        ) * 0.75
    VAR _mornAndAfter =
        CALCULATE (
            SUM ( 'Table'[Qty] ),
            FILTER (
                ALLSELECTED ( 'Table' ),
                [Date] = MAX ( 'Table'[Date] )
                    && [Factory] = MAX ( 'Table'[Factory] )
                    && [Shift] IN { "Morning", "Afternoon" }
            )
        )
    VAR _night =
        CALCULATE (
            SUM ( 'Table'[Qty] ),
            FILTER (
                ALLSELECTED ( 'Table' ),
                [Date] = MAX ( 'Table'[Date] )
                    && [Factory] = MAX ( 'Table'[Factory] )
                    && [Shift] = "Night"
            )
        ) * 0.25
    RETURN
        _pre + _mornAndAfter + _night
    

    Aquí está el resultado final:

    Eyelyn9_0-1631519053541.png

    Saludos
    Eyelyn Qin
    Si esta publicación ayuda,entonces considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.