Forum Discussion
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ÓN | Versión | Categoría | Base | isRelease |
| 616 | XYZ.1.7.1 Español | maestro | 1.7 | Falso |
| 616 | XYZ.1.7.1 Español | maestro | 1.7 | Falso |
| 648 | XYZ.1.7.5 | maestro | 1.7 | Falso |
| 654 | XYZ.1.7.6 Español | maestro | 1.7 | Verdadero |
| 655 | XYZ.1.7.7 Español | maestro | 1.7 | Falso |
| 763 | XYZ.1.7.34 Español | maestro | 1.7 | Falso |
| 1423 | XYZ.1.9.0.2 | maestro | 1.9.0 | Falso |
| 1427 | XYZ.1.9.0.3 | maestro | 1.9.0 | Verdadero |
| 1460 | XYZ.1.9.0.12 | maestro | 1.9.0 | Falso |
| 1463 | XYZ.1.9.0.13 | maestro | 1.9.0 | Falso |
| 876 | XYZ.1.7.59 Español | maestro | 1.7 | Falso |
| 1003 | XYZ.1.8.0.9 | maestro | 1.8.0 | Falso |
| 1004 | XYZ.1.7.0.5 | r1.7.0 | 1.7.0 | Falso |
| 1005 | XYZ.1.7.0.5 | r1.7.0 | 1.7.0 | Verdadero |
| 1007 | XYZ.1.7.82 Español | maestro | 1.7.0 | Falso |
| 1169 | XYZ.1.8.0.32 | maestro | 1.8.0 | Falso |
| 1466 | XYZ.1.9.0.12 | maestro | 1.9.0 | Verdadero |
| 1468 | XYZ.1.9.0.14 | maestro | 1.9.0 | Falso |
| 1593 | XYZ.1.9.0.45 | maestro | 1.9.0 | Falso |
| 1598 | XYZ.1.9.0.46 | maestro | 1.9.0 | Verdadero |
| 1603 | XYZ.1.9.0.47 | maestro | 1.9.0 | Falso |
| 1171 | XYZ.1.7.0.32 | r1.7.0 | 1.7.0 | Falso |
| 1162 | XYZ.1.8.0.29 | maestro | 1.8.0 | Verdadero |
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
Administrator
@gadlakha , no muy claro.
Una nueva columna
= if(maxx(filter(Table, [Category] = before([category]) && [version] = before([version]) ), [ID]) =[ID] 1,0)
Power BI DAX: antes, debería haber sabido antes: https://youtu.be/CVW6YwvHHi8
- Syndicate_Admin
Administrator
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.
- Syndicate_Admin
Administrator
@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
Administrator
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
Administrator
Eh. ¿Puede alguien amablemente ayudar con esto?
- Syndicate_Admin
Administrator
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 comunidadSi 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