Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
3 years ago

Consulta DAX

Hola a todos

Tengo una tabla que enumera el Release_IDs, Release_Versions, Release_Category, Release_BaseVersion y una marca para especificar si una versión determinada era externa o no.

IDENTIFICACIÓNVersiónCategoríaBaseisRelease
616XYZ.1.7.1 Españolmaestro1.7Falso
616XYZ.1.7.1 Españolmaestro1.7Falso
648XYZ.1.7.5maestro1.7Falso
654XYZ.1.7.6 Españolmaestro1.7Verdadero
655XYZ.1.7.7 Españolmaestro1.7Falso
763XYZ.1.7.34 Españolmaestro1.7Falso
1423XYZ.1.9.0.2maestro1.9.0Falso
1427XYZ.1.9.0.3maestro1.9.0Verdadero
1460XYZ.1.9.0.12maestro1.9.0Falso
1463XYZ.1.9.0.13maestro1.9.0Falso
876XYZ.1.7.59 Españolmaestro1.7Falso
1003XYZ.1.8.0.9maestro1.8.0Falso
1004XYZ.1.7.0.5r1.7.01.7.0Falso
1005XYZ.1.7.0.5r1.7.01.7.0Verdadero
1007XYZ.1.7.82 Españolmaestro1.7.0Falso
1169XYZ.1.8.0.32maestro1.8.0Falso
1466XYZ.1.9.0.12maestro1.9.0Verdadero
1468XYZ.1.9.0.14maestro1.9.0Falso
1593XYZ.1.9.0.45maestro1.9.0Falso
1598XYZ.1.9.0.46maestro1.9.0Verdadero
1603XYZ.1.9.0.47maestro1.9.0Falso
1171XYZ.1.7.0.32r1.7.01.7.0Falso
1162XYZ.1.8.0.29maestro1.8.0Verdadero

Lo que quiero es agregar una nueva columna que indique la última versión de compilación de lanzamiento basada en Release_Category y Release_BaseVersion. Un Release_Category y Release_BaseVersion determinados podrían tener varias versiones externas y, por lo tanto, todas las Release_ID posteriores deberían apuntar a la última versión de compilación de lanzamiento disponible para una categoría determinada.

Cualquier ayuda sería muy apreciada.

Saludos.

6 Replies

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Hola, gracias por tu respuesta.

      Probé la solución, pero el resultado no es el esperado. A continuación se muestra lo que obtengo como una nueva columna con su solución propuesta:

      Estoy confundido lo que un 1 o 0 denota aquí.

      El resultado previsto sería el siguiente:

      Aprecio si pudieras ayudar.

  • @gadlakha Probar:

    Category = 
      VAR __Category = [Category]
      VAR __Base = [Base]
      VAR __Max = MAXX(FILTER(ALL('Table'),[Category] = __Category && [Base] = __Base),[ID])
      VAR __Result = MAXX(FILTER(ALL('Table'),[ID] = __ID),[Version])
    RETURN
      __Result
    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Hola, gracias por la respuesta. Lo probé, pero los datos no son los esperados. A continuación se muestra lo que obtengo cuando agrego una nueva columna basada en su respuesta:

      Como puede ver, esto no está bien. Para la primera fila, la última versión disponible para la categoría: master y base: 1.7 es con ID: 654. Por lo tanto, cualquier fila con categoría: maestro, base: 1.7 e ID menor que 654 no debe tener una entrada.

      El conjunto de datos esperado correcto sería el siguiente:

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      @gadlakha ,

      Plese pruebe esto:

      LastRelId = 
      CALCULATE (
          MAX ( 'Table'[ID] ),
          FILTER (
              ALL ( 'Table' ),
              'Table'[isRelease] = TRUE ()
                  && 'Table'[Category] = EARLIER ( 'Table'[Category] )
                  && 'Table'[Base] = EARLIER ( 'Table'[Base] )
                  && 'Table'[Index] <= EARLIER ( 'Table'[Index] )
          )
      )

      Saludos
      Gao

      Equipo de apoyo a la comunidad

      Si hay alguna publicación de ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente. Si no entiendo sus necesidades o todavía tiene problemas al respecto, no dude en hacérnoslo saber. ¡Muchas gracias!

      Cómo obtener respuestas rápidas a sus preguntas -- Cómo proporcionar datos de ejemplo en el foro de Power BI