cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Syndicate_Admin
Administrator
Administrator

Hacer coincidir 2 fuentes de datos por último keyid

Hola, tengo 2 tablas que contienen PCName, KeyID, KeyDateTime para 2 fuentes de copia de seguridad de datos diferentes A y B, donde los PCNames están relacionados muchos: muchos. Pueden existir varios KeyID para un PCName y los KeyID pueden o no existir en ambos orígenes.

Quiero consultar el KeyID más reciente de KeyDateTime para que PCName exista en ambos orígenes de datos que son compatibles, de lo contrario, informe si la tabla A o B tiene un KeyID más reciente que solo existe en cualquiera de las tablas.

¿Alguna idea sobre cómo abordar esto?

1 REPLY 1
Syndicate_Admin
Administrator
Administrator

@anthony_dobson ,

De acuerdo con su descripción, creo una muestra.

TablaA:

vyanjiangmsft_0-1685353599670.png

Tabla B:

vyanjiangmsft_1-1685353632167.png

Aquí está mi solución, crear una medida:

Latest_keyID =
MAXX (
    FILTER (
        'TableA',
        'TableA'[KeyID]
            = MAXX (
                FILTER (
                    ALL ( 'TableB' ),
                    'TableB'[PCName] = MAX ( TableA[PCName] )
                        && 'TableB'[KeyDateTime]
                            = MAXX (
                                FILTER ( ALL ( 'TableB' ), 'TableB'[PCName] = MAX ( TableA[PCName] ) ),
                                'TableB'[KeyDateTime]
                            )
                ),
                'TableB'[KeyID]
            )
    ),
    'TableA'[KeyID]
)

Obtenga el KeyID más reciente de KeyDateTime para el PCName existe en ambas fuentes de datos:

vyanjiangmsft_2-1685354133856.png

Si desea contar el número de PCName que cumplen la condición anterior, cree una medida:

Measure =
CALCULATE (
    DISTINCTCOUNT ( 'TableA'[PCName] ),
    FILTER (
        ALL ( 'TableA' ),
        'TableA'[KeyID]
            = MAXX (
                FILTER (
                    ALL ( 'TableB' ),
                    'TableB'[PCName] = EARLIER ( TableA[PCName] )
                        && 'TableB'[KeyDateTime]
                            = MAXX (
                                FILTER ( ALL ( 'TableB' ), 'TableB'[PCName] = EARLIER ( TableA[PCName] ) ),
                                'TableB'[KeyDateTime]
                            )
                ),
                'TableB'[KeyID]
            )
    )
)

Obtenga el resultado correcto:

vyanjiangmsft_3-1685354494721.png

Adjunto mi muestra a continuación para su referencia.

Saludos

Apoyo a la comunidad Team_yanjiang

Si este post Ayuda, entonces por favor considere Acéptalo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Helpful resources

Announcements
PBI Sept Update Carousel

Power BI September 2023 Update

Take a look at the September 2023 Power BI update to learn more.

Learn Live

Learn Live: Event Series

Join Microsoft Reactor and learn from developers.

Dashboard in a day with date

Exclusive opportunity for Women!

Join us for a free, hands-on Microsoft workshop led by women trainers for women where you will learn how to build a Dashboard in a Day!

Top Solution Authors