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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
Syndicate_Admin
Administrator
Administrator

Ayuda con el código M + Vlookup

¡Hola!

Estoy creando una base de datos compleja que tendrá información de importación de la lista de puntos compartidos y se conectará a las bases de datos de Data Lake.

No tengo experiencia / conocimiento con el código M, pero me gustaría usarlo en lugar de DAX porque es posible filtrar las filas en el modo de consulta que mejorará mucho la velocidad / tamaño de este archivo power bi, ya que usaré muchas bases de datos grandes.

También facilitaré cuando use el mismo espejo de tabla para esta tabla para otras condiciones de filtrado para la misma tabla.

Cuadro A

ecoDICE MECO
686638596517
686638596517
686638612180
686638621342

Cuadro B

FA Proj. identificaciónProj. tipo ref.Proj. ref. DICE MECO(s) / ECO(s)
22DICE MECO596517
23DICE MECO643711
24DICE MECO660949
25DICE MECO685692
26DICE MECO695569
27DICE MECO704182
28eco686638
30DICE MECO668426
31DICE MECO612180
31DICE MECO621342
33DICE MECO685694

Me gustaría añadir la columna "FA Proj. ID" en la tabla A en función de los valores de la columna B con 2 variantes, cuando es ECO en el proyecto. tipo debe buscar en la 1ª columna de la tabla A o cuando su DICE MECO en el proyecto. escriba ref. para la 2ª columna de la tabla A cuando coincida con los valores de la columna DICE MECO(s) / ECO(s) de la tabla B.

Traté de buscar casos similares, pero no lo encontré.

Espero que pueda obtener ayuda con eso!

Saludos

André Fortunato

1 ACCEPTED SOLUTION

Allí, @André_Fortunato

Lo siento por la respuesta tardía debido al fin de semana. Puede probar la columna personalizada en PQ. El archivo de ejemplo está a continuación.

Así:

let 
t1=Table.SelectRows(#"TableB",(x)=>x[DICE_MECO ECO]=[ECO]),
t2= Table.SelectRows(#"TableB",(x)=>x[DICE_MECO ECO]=[DICE MECO]) 
in 
if Table.RowCount(t1)>0
then List.Sum(t1[FA Proj. ID])
else if Table.RowCount(t2)>0
then List.Sum(t2[FA Proj. ID])
else null

vjaneygmsft_0-1626083137015.png

Saludos

Janey Guo

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

View solution in original post

8 REPLIES 8
Syndicate_Admin
Administrator
Administrator

Allí, @André_Fortunato

En este caso, ¿quieres 22 o 28? ¿Puedes mostrarme el resultado deseado?

vjaneygmsft_0-1625801123646.png

Saludos

Janey Guo

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

Hola @v-janeyg-msft !

Muchas gracias por su respuesta y apoyo!

Mis disculpas por eso, agregué valores incorrectos en la columna ECO. Vea a continuación el resultado deseado:

Andr_Fortunato_0-1625807007510.png

Saludos

André Fortunato

Allí, @André_Fortunato

Lo siento por la respuesta tardía debido al fin de semana. Puede probar la columna personalizada en PQ. El archivo de ejemplo está a continuación.

Así:

let 
t1=Table.SelectRows(#"TableB",(x)=>x[DICE_MECO ECO]=[ECO]),
t2= Table.SelectRows(#"TableB",(x)=>x[DICE_MECO ECO]=[DICE MECO]) 
in 
if Table.RowCount(t1)>0
then List.Sum(t1[FA Proj. ID])
else if Table.RowCount(t2)>0
then List.Sum(t2[FA Proj. ID])
else null

vjaneygmsft_0-1626083137015.png

Saludos

Janey Guo

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

¡Hay @v-janeyg-msft!

Probé el código y funciona muy bien.

Acabo de tener un nuevo problema que toma mucho más tiempo para cargar la tabla A desde una fuente de datos OBDC, pero puedo cargar esta tabla por una rutina.

Muchas gracias una vez más y que tengan un gran fin de semana,

Saludos, André

Hay @v-janeyg-msft ,

No se preocupe, estoy en vacaciones de verano desde el lunes pasado, pero podré probar la solución propuesta solo a mediados / finales de la próxima semana.


Muchas gracias una vez más por su ayuda!

Saludos cordiales, André

Allí, @André_Fortunato

Necesito una lógica completa, si las dos columnas de una fila en la tabla A pueden coincidir con el identificador de la tabla B, ¿cómo lidiar con ella, existe tal situación? Sírvanse explicarlo.

Saludos

Janey Guo

¡Hay @v-janeyg-msft!


El filtro ut será siempre la tabla B, si la columna Proj. es un ECO deben buscar el valor de los DICE MECO / ECO(s) en la columna ECO de la tabla A y agregar una nueva columna con el FA. iD en la tabla A de la tabla B, la misma lógica si el valor de la columna Proj. escriba ref. De la tabla B es un MECO de DICE, pero debe buscar los valores de la tabla A de la columna MECO de DICE en su lugar.

siempre serán valores distintos para ECO o MECO en la tabla A o B pero solo me interesa recuperar en la tabla A los DICE MECO/ECOs de la tabla B y etiquetar el ID de Proj en la tabla A.

Por favor, hágamelo saber si necesita más información 🙂

Saludos

André Fortunato

@André_Fortunato Lo entiendo y le responderé más tarde.

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors