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

Grow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.

Reply
Syndicate_Admin
Administrator
Administrator

Filtro DAX con múltiples criterios

Hola

Quiero filtrar en función de dos columnas de una tabla, una que contiene texto (esta la administro) y un filtro que encuentra la última versión (la más alta) (que es un campo de texto, pero para encontrar la última versión asumo que uno debe convertir o agregar columna para encontrar el valor máximo.

Estas son mis dos tablas, están relacionadas por la columna ID. Quiero filtrar la tabla 2 en función del tipo y la versión de la tabla 1.

Tabla 1:

IdentificaciónTipoVersión
5Presupuesto000001
4Pronóstico000001
3Presupuesto000002
2Presupuesto000003
1Pronóstico000002

Tabla 2:

Budgetdetails_IDCuenta principalImporte
5605040000
5606035000
55050-20000
55040-45000
55030200000
3605045000
3606030000
35050-15000
35040-40000
35030200000
2605042000
2606035000
25050-20000
25040-40000
2503025000
4605030000
4606035000
45050-30000
45040-45000
4503010000
1605035000
1606020000
15050-20000
15040-20000
150305000



Este es el resultado deseado, que es una tabla con la última versión de bugdet y prognosis

Cuenta principalPresupuestoPronóstico
60504200035000
60603500020000
5050-20000-20000
5040-40000-20000
5030250005000


Gracias por su ayuda.

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

Hi, @thyrast

Si el formato de la versión se puede convertir a número para facilitar el cálculo.

Medir:

Budget = 
VAR _maxversion =
    CALCULATE (
        MAX ( 'Table 1'[Version] ),
        ALLEXCEPT ( 'Table 1', 'Table 1'[Type] )
    )
RETURN
    CALCULATE (
        MAX ( 'Table 2'[Amount] ),
        FILTER ( ALL ( 'Table 1' ), [Type] = "Budget" && [Version] = _maxversion ),
        FILTER(ALL('Table 2'),[Main Account]=SELECTEDVALUE('Table 2'[Main Account])
    )
)
Prognosis = 
CALCULATE (
    MAX ( 'Table 2'[Amount] ),
    FILTER (
        ALL ( 'Table 1' ),
        [Type] = "Prognosis"
            && [Version]
                = CALCULATE (
                    MAX ( 'Table 1'[Version] ),
                    ALLEXCEPT ( 'Table 1', 'Table 1'[Type] )
                )
    ),
    FILTER (
        ALL ( 'Table 2' ),
        [Main Account] = SELECTEDVALUE ( 'Table 2'[Main Account] )
    )
)

Resultado:

vzhangti_0-1663749863882.png

¿Es este el resultado que esperas?

Saludos

Equipo de soporte de la comunidad _Charlotte

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

Syndicate_Admin
Administrator
Administrator

@thyrast No me queda claro cómo llegaste a los resultados deseados. Pero, si está tratando de obtener el valor "más reciente" de alguna manera, necesitará una columna Índice o Fecha en su 2ª tabla.

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel1

Power BI Monthly Update - May 2024

Check out the May 2024 Power BI update to learn about new features.