Coincidencia de índice con varios criterios: medida DAX y lenguaje M

Un usuario Pregunto ✅

sajón10

Hola,

Tengo dos tablas, TableA y TableB, ambas tablas contienen texto y número. Las siguientes columnas están en TableA Ítem, Equipo, Código de lugar y Distrito código y TableB Equipo, código de lugar y código de distrito. En ambas tablas, los siguientes encabezados son iguales, Equipo, Código de lugar y Código de distrito y Equipo TableB.

En Excel, estoy aplicando las fórmulas mencionadas a continuación (sin columnas duplicadas) para lograr mi resultado final.

Fórmula de la columna E – ‘=SI.ERROR(SI(COINCIDIR(B2,ÍNDICE(TABLAA!$A$2:$A$52,0),0),»COINCIDENTE»),»ERROR»)-

Fórmula de la columna F – ‘=SI.ERROR(SI(COINCIDIR(B2&»-«&C2,ÍNDICE(TABLAA!$A$2:$A$52&»-«&TABLAA!$B$2:$B$52,0),0),» COINCIDIR»), «ERROR»)

Columna G fórmula’=SI.ERROR(SI(COINCIDIR(B2&»-«&C2&»-«&D2,ÍNDICE(TABLAA!$A$2:$A$52&»-«&TABLAA!$B$2:$B$52&»-«&TABLAA !$C$2:$C$52,0),0),»COINCIDIR»),»ERROR»)

fórmula lógica;

Coincidencia electrónica de columna criterios es Team en ambas tablas

Coincidencia de columna F criterios es equipo, coloque el código en ambas tablas

Coincidencia G de columna criterios es equipo, código de lugar y código de distrito en ambas tablas

Ahora mi pregunta es cómo puedo lograr el mismo resultado en Power BI sin duplicación/columnas adicionales.

¿Puede aconsejar la solución DAX? la medida también m idioma opción también.

No quiero usar la opción de combinación porque creará muchas columnas duplicadas en los datos originales y, mientras tanto, mis datos originales en muchas columnas, por lo tanto, me gustaría lograr mi resultado usando la medida DAX también M idioma.

https://www.dropbox.com/s/s3lyb7ss21myf4a/DATA-INDEX-1.PNG?dl=0

https://www.dropbox.com/s/rointtqrt2ajt51/INDEX%20MATCH-DAX-M.xlsx?dl=0

Podrías avisar por favor.

CNENFRNL

Hola, @ Saxon10, solo por diversión, se me ocurrió un espectro de soluciones con M, DAX (medida y columna calculada), así como fórmulas Excle. Es posible que desee consultar el archivo adjunto para más detalles.

Solución M en la consulta «TableB Chk»

Captura de pantalla 2020-10-25 000212.png

Soluciones DAX: medida/columna calculada

Captura de pantalla 2020-10-25 000458.png Captura de pantalla 2020-10-25 000410.png

Por último, pero no menos importante, las fórmulas de Excel, nuestros buenos viejos amigos… También adjunto el archivo excel.

TEAM CHK =IF(COUNTIF(TableA[TEAM],[@TEAM]),"MATCHED","UNMATCHED")

PLACE CODE CHK {=IF(COUNTIFS(TableA[TEAM],[@TEAM],TableA[PLACE CODE],""&[@[PLACE CODE]]),"","ERROR")}
Array formula

DISTRICT CODE CHK {=IF(OR((TableA[TEAM]=[@TEAM])*(TableA[PLACE CODE]=[@[PLACE CODE]])*(TableA[DISTRICT CODE]=[@[DISTRICT CODE]])),"","ERROR")}
Arry formula

CNENFRNL

Hola, @ Saxon10, solo por diversión, se me ocurrió un espectro de soluciones con M, DAX (medida y columna calculada), así como fórmulas Excle. Es posible que desee consultar el archivo adjunto para más detalles.

Solución M en la consulta «TableB Chk»

Captura de pantalla 2020-10-25 000212.png

Soluciones DAX: medida/columna calculada

Captura de pantalla 2020-10-25 000458.png Captura de pantalla 2020-10-25 000410.png

Por último, pero no menos importante, las fórmulas de Excel, nuestros buenos viejos amigos… También adjunto el archivo excel.

TEAM CHK =IF(COUNTIF(TableA[TEAM],[@TEAM]),"MATCHED","UNMATCHED")

PLACE CODE CHK {=IF(COUNTIFS(TableA[TEAM],[@TEAM],TableA[PLACE CODE],""&[@[PLACE CODE]]),"","ERROR")}
Array formula

DISTRICT CODE CHK {=IF(OR((TableA[TEAM]=[@TEAM])*(TableA[PLACE CODE]=[@[PLACE CODE]])*(TableA[DISTRICT CODE]=[@[DISTRICT CODE]])),"","ERROR")}
Arry formula

sajón10

En respuesta a CNENFRNL

Hola,

Gracias por su solución de Power BI y Excel.

Creo que adjuntó el archivo de Power BI incorrecto (el nombre del archivo es 24) Además, no puedo ver el código para el lenguaje M y la medida DAX en el sanpshot, así que ¿podría compartir el archivo de salida real de Power BI para que pueda verificar mi fin y Actualizaré los comentarios tan pronto como sea posible.

Me gusta su lógica de Excel y es muy simple. No estoy más familiarizado con la fórmula matricial. Aprendo algo nuevo en Excel.

CNENFRNL

En respuesta a sajón10

@ Saxon10, error mío, he corregido el enlace y ahora el archivo correcto está a su disposición ahora.

sajón10

En respuesta a CNENFRNL

Hola,

No hay problema. Gracias por adjuntar el archivo real.

La medida:

Su solución de medida funciona bien. Muchas gracias por eso. Aclaración rápida aquí, si tengo columnas en blanco en TableB, ¿debo agregar alguna función adicional?

Lenguaje M;

Para aplicar el siguiente código M «if List.Contains(TableA[TEAM], [TEAM]) luego «MATCHED» más «ERROR» en cuestión, ¿qué más debo hacer antes? También puedo ver el archivo que creó para medir, pero no puedo ver ningún dato y la medida está oculta. ¿Puede aconsejarme?

sajón10

En respuesta a sajón10

Hola,

Puedo ver la columna de medida como datos de importación, pero no muestra ningún valor o resultado y ¿Cómo se agregó el editor de consultas de medida por adelantado? ¿Podría compartir la información paso a paso para que pueda intentar aplicar lo mismo en mi extremo?

Por favor ref la instantánea

https://www.dropbox.com/s/ywa169iy991g150/qe-1.PNG?dl=0

https://www.dropbox.com/s/ywa169iy991g150/qe-1.PNG?dl=0

sajón10

En respuesta a sajón10

¿podría aconsejar a alguien sobre la lógica del código M?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *