Forum Discussion
ayuda en power query
necesito poner America en los codigos de pais q correspondan a este continente.... en power query.
Alguien quien me pueda ayudar
JorgeDoig
Por favor intenta con lo siguiente:
1. Crea una tabla en excel con todos los paises y codigos que quieres arreglar (cada pais debe aparecer solo una vez y los nombres deben ser tal como aparecen en la tabla actual). (valida que no existan nombres de paises de america que compartan nombre con paises de otros continentes)
2. Importa la tabla con power query y realiza un merge (combinacion de consultas) iniciando desde la tabla actual (con errores) para combinarla con los datos de la nueva tabla:
Debes seleccionar la tabla actual, seleccionar merge y en el cuadro de dialogo de combinacion de consultas selecciona la tabla nueva como segunda tabla; debes seleccionar la columna que es comun a ambas tablas (los nombres de paises)3. Dale click a las dos flechas que aparecen en la parte derecha de la nueva columna que generó la combinacion de consultas y selecciona solo la celda que deseas corregir (traer de la nueva tabla).
4. Selecciona adicionar columna> columna condicional
generará una columna que traiga los datos de los continentes corregidos y las celdas vacias las rellena con los datos existentes en la tabla actual.
en el primer y ultimo campo selecciona la columna nueva ; en el segundo campo escribe el valor null (sin comillas ni espacios) y en el 3 campo selecciona la columna actualUsa la nueva columna en tus reportes.
Espero esta opción sirva. de ser así por favor marcala como solución. Kudos son bienvenidos.
8 Replies
- pcoleySuper User
JorgeDoig
Por favor intenta con lo siguiente:
1. Crea una tabla en excel con todos los paises y codigos que quieres arreglar (cada pais debe aparecer solo una vez y los nombres deben ser tal como aparecen en la tabla actual). (valida que no existan nombres de paises de america que compartan nombre con paises de otros continentes)
2. Importa la tabla con power query y realiza un merge (combinacion de consultas) iniciando desde la tabla actual (con errores) para combinarla con los datos de la nueva tabla:
Debes seleccionar la tabla actual, seleccionar merge y en el cuadro de dialogo de combinacion de consultas selecciona la tabla nueva como segunda tabla; debes seleccionar la columna que es comun a ambas tablas (los nombres de paises)3. Dale click a las dos flechas que aparecen en la parte derecha de la nueva columna que generó la combinacion de consultas y selecciona solo la celda que deseas corregir (traer de la nueva tabla).
4. Selecciona adicionar columna> columna condicional
generará una columna que traiga los datos de los continentes corregidos y las celdas vacias las rellena con los datos existentes en la tabla actual.
en el primer y ultimo campo selecciona la columna nueva ; en el segundo campo escribe el valor null (sin comillas ni espacios) y en el 3 campo selecciona la columna actualUsa la nueva columna en tus reportes.
Espero esta opción sirva. de ser así por favor marcala como solución. Kudos son bienvenidos. - v-achippaCommunity Support
Hi JorgeDoig,
Thank you for reaching out to Microsoft Fabric Community.
Thank you MasonMA and pcoley for the prompt response.
As we haven’t heard back from you, we wanted to kindly follow up to check if the solution provided by the user's for the issue worked? or let us know if you need any further assistance.
Thanks and regards,
Anjan Kumar Chippa
- v-achippaCommunity Support
Hi @JorgeDoig,
We wanted to kindly follow up to check if the solution provided by the user's for the issue worked? or let us know if you need any further assistance.
Thanks and regards,
Anjan Kumar Chippa
- MasonMASuper User
Hi,
You can use this logic below for data cleaning.
For each row, if Country Code is ARG or BLZ (maintain them in List.Contains() function if there are more), set Continent = "America", otherwise keep the original value.
In Power Query, click 'fx' to add a new step, copy and paste below M in, update column names to your actual column names.
=Table.ReplaceValue(
Source,
each [Continent],
each
if List.Contains({"ARG","BLZ"}, [Code])
then "America"
else [Continent],
Replacer.ReplaceValue,
{"Continent"}
)- JorgeDoigNew Member
Thank you Mason... but Source it shows as not recognized word
- JorgeDoigNew Member
- JorgeDoigNew Member
Im using this.... but still not working , no errors.
= Table.ReplaceValue(#"newtable",
each [Continente],
each
if List.Contains({"ARG","BLZ"}, [Codpais])
then "America"
else [Continente],
Replacer.ReplaceValue,
{"Continente"} )- MasonMASuper User
Apologies, in the M i shared, 'Source' should be the name of your previous step, not literally the word unless your previous step is actually named Source, like on my tested table.
Also in the table the column name is 'codpais', so try
= Table.ReplaceValue(
#"newtable",
each [Continente],
each
if List.Contains({"ARG","BLZ"}, [codpais])
then "America"
else [Continente],
Replacer.ReplaceValue,
{"Continente"}
)