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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
Syndicate_Admin
Administrator
Administrator

agrupar por DAX para PBI

Hola, agradecería si alguien me puede ayudar con esto. Las primeras 3 columnas son datos de origen. La columna de resultados es lo que quiero. la lógica: Si Grupo de Revisión = "aprobadores", Resultados = "Ciclo Final", el mínimo [Ciclo de Revisión #] debe ser "1er Ciclo" después de los "aprobadores" para ese [Id de Proyecto], el resto [Ciclo de Revisión #] debe ser "Ciclo Adicional". Un [ID de proyecto] podría tener varias veces de "aprobadores". Un [Ciclo de revisión #] podría tener varios [Grupo de revisión]. Creé una columna llamada [CalculateResult], pero no era totalmente precisa.

Aquí está el DAX

CalcularResultado =

VAR isApprove = 'Muestras de RA'[Grupo de revisión] = "Aprobadores"

VAR minCycle = CALCULATE(min('Muestras de RA'[Ciclo de revisión #]), ALLEXCEPT('Muestras de RA', 'Muestras de RA'[ID alternativo del proyecto],'Muestras de RA'[Grupo de revisión]))

RETURN IF(

esAprobar,

"ciclo final",

SI(

'Muestras de RA'[Ciclo de revisión #]=minCycle,

"1er ciclo",

"Ciclo adicional"

)

)

ID del proyecto

Grupo de Revisión

Ciclo de revisión #

Resultados

CalcularResultado

18-14-Rev2

Instalación sw mngt

5

1º ciclo

1º ciclo

18-14-Rev2

SW Mngt

6

Ciclo adicional

1º ciclo

18-28-Rev5

DPR Silvicultura Urbana

10

1º ciclo

1º ciclo

18-28-Rev5

Aprobadores

11

Ciclo final

Ciclo final

18-28-Rev5

Inspección SW

12

1º ciclo

1º ciclo

18-28-Rev5

Instalación sw mngt

12

Ciclo adicional

1º ciclo

18-28-Rev5

Instalación sw mngt

13

Ciclo adicional

Ciclo adicional

19-129-Rev4

Planificación transp

5

1º ciclo

1º ciclo

19-129-Rev4

Aprobadores

6

Ciclo final

Ciclo final

19-129-Rev4

Planificación transp

7

1º ciclo

Ciclo adicional

19-129-Rev4

Diseño tran

8

Ciclo adicional

1º ciclo

19-129-Rev4

Aprobadores

9

Ciclo final

Ciclo final

19-129-Rev4

Inspección SW

10

1º ciclo

1º ciclo

19-129-Rev4

Diseño tran

11

Ciclo adicional

Ciclo adicional

19-129-Rev4

Aprobadores

12

Ciclo final

Ciclo final

19-129-Rev4

Diseño tran

13

1º ciclo

Ciclo adicional

19-129-Rev4

Tránsito

13

1º ciclo

1º ciclo

19-129-Rev5

Diseño tran

14

1º ciclo

1º ciclo

¡Gracias de antemano!

Xilei

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Todos los registros son correctos. ¡Muchas gracias, Jihwan_Kim! ¡Eres magnífico!

¡Deseando un feliz Día de Acción de Gracias!

Xilei

View solution in original post

8 REPLIES 8
Syndicate_Admin
Administrator
Administrator

Hola Jihwan_Kim,

Esta es la primera vez que uso esta comunidad. No sabía que al hacer clic en [Aceptar como solución] obtendría una insignia que te merecías. Navegaré para ver si puedo reservarlo.

Gracias

Xilei

Syndicate_Admin
Administrator
Administrator

Todos los registros son correctos. ¡Muchas gracias, Jihwan_Kim! ¡Eres magnífico!

¡Deseando un feliz Día de Acción de Gracias!

Xilei

Syndicate_Admin
Administrator
Administrator

Hola

Por favor, compruebe la imagen de abajo y el archivo pbix adjunto.

Función EARLIER (DAX) - DAX | Microsoft Learn

Jihwan_Kim_0-1700538680102.png

Expected result CC =
VAR _min =
    MAXX (
        INDEX (
            1,
            SUMMARIZE (
                'RA Samples',
                'RA Samples'[Project Id],
                'RA Samples'[Review Cycle #]
            ),
            ORDERBY ( 'RA Samples'[Review Cycle #], ASC ),
            ,
            PARTITIONBY ( 'RA Samples'[Project Id] )
        ),
        'RA Samples'[Review Cycle #]
    )
VAR _currentcycle = 'RA Samples'[Review Cycle #]
VAR _prevcycle =
    MAXX (
        FILTER (
            'RA Samples',
            'RA Samples'[Project Id] = EARLIER ( 'RA Samples'[Project Id] )
                && 'RA Samples'[Review Cycle #] < _currentcycle
        ),
        'RA Samples'[Review Cycle #]
    )
VAR _previousgroup =
    SUMMARIZE (
        FILTER (
            'RA Samples',
            'RA Samples'[Project Id] = EARLIER ( 'RA Samples'[Project Id] )
                && 'RA Samples'[Review Cycle #] = _prevcycle
        ),
        'RA Samples'[Review Group]
    )
RETURN
    SWITCH (
        TRUE (),
        'RA Samples'[Review Group] = "Approvers", "final cycle",
        'RA Samples'[Review Cycle #] = _min
            || "Approvers" IN _previousgroup, "1st cycle",
        "additional cycle"
    )

Syndicate_Admin
Administrator
Administrator

¡Gracias de nuevo por su tiempo y esfuerzos, Jihwan_Kim!

Todos son correctos, excepto los dos conjuntos de duplicados del ciclo de revisión #.

1. Id del proyecto = 18-28-Rev5, ciclo de revisión # = 12, hay dos filas de 12, el 2º 12 también debe ser el 1º ciclo en lugar del ciclo adicional. Es el mismo caso con el proyecto id = 19-129-Rev4, ciclo de revisión # = 13. Ambas filas de 13 deben ser de 1er ciclo. ¿Se puede modificar? ¡Muchas gracias!

Xileize

Syndicate_Admin
Administrator
Administrator

Hola

Verifique la imagen a continuación y el archivo pbix adjunto si se adapta a sus necesidades.

Función OFFSET (DAX) - DAX | Microsoft Learn

Jihwan_Kim_0-1700457596536.png

Expected result CC =
VAR _min =
    MAXX (
        INDEX (
            1,
            SUMMARIZE (
                'RA Samples',
                'RA Samples'[Project Id],
                'RA Samples'[Review Cycle #]
            ),
            ORDERBY ( 'RA Samples'[Review Cycle #], ASC ),
            ,
            PARTITIONBY ( 'RA Samples'[Project Id] )
        ),
        'RA Samples'[Review Cycle #]
    )
VAR _previousgroup =
    MAXX (
        OFFSET (
            -1,
            SUMMARIZE (
                'RA Samples',
                'RA Samples'[Project Id],
                'RA Samples'[Review Group],
                'RA Samples'[Review Cycle #]
            ),
            ORDERBY ( 'RA Samples'[Review Cycle #], ASC ),
            ,
            PARTITIONBY ( 'RA Samples'[Project Id] )
        ),
        'RA Samples'[Review Group]
    )
RETURN
    SWITCH (
        TRUE (),
        'RA Samples'[Review Group] = "Approvers", "final cycle",
        'RA Samples'[Review Cycle #] = _min
            || _previousgroup = "Approvers", "1st cycle",
        "additional cycle"
    )

Syndicate_Admin
Administrator
Administrator

Gracias Jihwan_Kim.

Casi lo consigues. Después de los aprobadores, el ciclo se restablece para un identificador de proyecto. Por ejemplo, ID del proyecto = 18-28-Rev5, Ciclo de revisión # = 12, el resultado esperado CC debe ser 1er ciclo. para el Ciclo de Revisión # = 13, el resultado esperado CC debe ser Ciclo Adicional. Espero haberlo explicado claramente esta vez.

Gracias

Xilei

Syndicate_Admin
Administrator
Administrator

Hola

No estoy seguro de haber entendido su pregunta correctamente, pero verifique la imagen a continuación y el archivo pbix adjunto si se adapta a sus necesidades.


Función INDEX (DAX) - DAX | Microsoft Learn

Jihwan_Kim_0-1700425027233.png

Expected result CC =
VAR _min =
    MAXX (
        INDEX (
            1,
            SUMMARIZE (
                'RA Samples',
                'RA Samples'[Project Id],
                'RA Samples'[Review Cycle #]
            ),
            ORDERBY ( 'RA Samples'[Review Cycle #], ASC ),
            ,
            PARTITIONBY ( 'RA Samples'[Project Id] )
        ),
        'RA Samples'[Review Cycle #]
    )
RETURN
    SWITCH (
        TRUE (),
        'RA Samples'[Review Group] = "Approvers", "final cycle",
        'RA Samples'[Review Cycle #] = _min, "1st cycle",
        "additional cycle"
    )

Syndicate_Admin
Administrator
Administrator

corrección: el identificador alternativo del proyecto en el DAX debe ser el identificador del proyecto.

gracias

Helpful resources

Announcements
LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.

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.