Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hola
Tengo 2 mesas :
Tab1, FIeld 11, contenido :
123456
234567
2345
234
Tab2, Field21, contenido
123456
23456
234
Me gustaría agregar una columna en PowerBi Power Query para hacer lo que hace lookupvalue.
Similar a lookupvalue(field12,
tab2[field21], mid(Tab1[field11],1, 6) ,
tab2[field21], mid(Tab1[field11],1, 5),
tab2[field21], mid(Tab1[field11],1, 4),
tab2[field21], mid(Tab1[field11],1, 3),
tab2[field21], mid(Tab1[field11],1, 2),
tab2[field21], mid(Tab1[field11],1, 1),
"no encontrado")
Campo11 Campo12
123456 123456 viniendo de tab2 porque Field11 igual a Field21
234567 23456 viniendo de tab2 porque Field11 no es igual a Field21 pero 5 primeros char yes
2345 234 viniendo de tab2 porque Field11 no es igual a Field21 pero 3 primeros char sí
234 234 viniendo de tab2 porque Field11 igual a Field21
¿Cómo desea desea implementar esto en Power BI/PowerQuery agregando una columna?
Gracias por tu ayuda
Solved! Go to Solution.
Hola @DoutGaet
Mi versión de PowerBi es la misma que la suya: 2.85.985.0 64-bit (septembre 2020)
Podemos ver Fuzzy in Merge en Power Query Editor.
No podemos obtener el resultado directamente por Fuzzy Merge, necesitamos usar otras funciones en Power Query Editor.
Aquí le mostraré los pasos detallados:
1. Fuzzy Merge Tab1 y Tab2.
Tab2 expandido y agregar una columna condicional.
Haga clic con el botón derecho en la columna Campo 21 y reemplace Error , reemplace el error como no encontrado.
Por último, quite la columna Tab2.Field 21 y elimine las filas que son nulas en la columna Campo 21.
Resultado:
Puede descargar el archivo pbix desde este enlace: Añadir valor de búsqueda de columna
Saludos
Rico Zhou
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola @DoutGaet
Puede intentar la coincidencia aproximada en la función de combinación.
Construyo dos mesas como la tuya para hacerme una prueba. (Agredo 143 en Tab1 para mostrar la situación "no encontrada")
Copiar consulta M en el Editor avanzado.
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjQyNjE1U4rViVYCs8zhTBgDTBuaGCvFxgIA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Field 11" = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Field 11", type text}}),
#"Merged Queries" = Table.FuzzyNestedJoin(#"Changed Type", {"Field 11"}, Tab2, {"Field 21"}, "Tab2", JoinKind.LeftOuter, [IgnoreCase=true, IgnoreSpace=true]),
#"Expanded Tab2" = Table.ExpandTableColumn(#"Merged Queries", "Tab2", {"Field 21"}, {"Tab2.Field 21"}),
#"Added Conditional Column" = Table.AddColumn(#"Expanded Tab2", "Field 21", each if Text.StartsWith([Field 11], [Tab2.Field 21]) then [Tab2.Field 21] else null),
#"Replaced Errors" = Table.ReplaceErrorValues(#"Added Conditional Column", {{"Field 21", "no found"}}),
#"Sorted Rows" = Table.Sort(#"Replaced Errors",{{"Field 21", Order.Ascending}}),
#"Removed Top Rows" = Table.Skip(#"Sorted Rows",4),
#"Removed Columns" = Table.RemoveColumns(#"Removed Top Rows",{"Tab2.Field 21"})
in
#"Removed Columns"
Resultado:
Puede descargar el archivo pbix desde este enlace: Añadir valor de búsqueda de columna
Para obtener más información sobre Fuzzy match: Fuzzy Merge
Saludos
Rico Zhou
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hi RicoZhou,
The fuzzy search seems aappropriate to my need.
I do exactly whet you propose, but the merging didn't get any matching data.
It seems that fuzzy is not so fuzzy than expected.
My version of PowerBi is Version : 2.85.985.0 64-bit (septembre 2020)
and I cannot see the Option 'fuzzy parameter on my powerBi tool'.
could you help me ?
DoutGaet
Hola @DoutGaet
¿Podría decirme si su problema ha sido resuelto? Si es así, acédi es la solución. Más gente se beneficiará de ello. O todavía está confundido al respecto, por favor proporcione más detalles sobre su tabla y su problema o compártame con su archivo pbix de su Onedrive for Business.
Saludos
Rico Zhou
Hola
Muchas gracias por su explicación, pero el resullt no es lo suficientemente bueno.
Muestra:
en mi archivo tengo un registro 401000000.
En mi archivo ref, tengo 401, 4011, 4012, 4019.
La solución debe devolver 401.
por desgracia que doesn't !!
Enlace difuso parece no relacionado 401 & 4010000.
gracias por su ayuda.
Hola @DoutGaet
Mi versión de PowerBi es la misma que la suya: 2.85.985.0 64-bit (septembre 2020)
Podemos ver Fuzzy in Merge en Power Query Editor.
No podemos obtener el resultado directamente por Fuzzy Merge, necesitamos usar otras funciones en Power Query Editor.
Aquí le mostraré los pasos detallados:
1. Fuzzy Merge Tab1 y Tab2.
Tab2 expandido y agregar una columna condicional.
Haga clic con el botón derecho en la columna Campo 21 y reemplace Error , reemplace el error como no encontrado.
Por último, quite la columna Tab2.Field 21 y elimine las filas que son nulas en la columna Campo 21.
Resultado:
Puede descargar el archivo pbix desde este enlace: Añadir valor de búsqueda de columna
Saludos
Rico Zhou
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
HOLA @DoutGaet ,
Intente usar consultas de combinación en el Editor de consultas. Vea el artículo a continuación:
Gracias
Pragati
Hola @Pragati11
muchas gracias por su respuesta.
Las consultas de combinación podrían funcionar si el vínculo coincide, pero coincide con Doent.
Si necesito volver a ejecutarlo para una parte parcial de field11, compruebe mi solicitud con sample of lookupvalue.
Any complementar idea ?
Salud
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |