Forum Discussion

JorgeDoig's avatar
JorgeDoig
New Member
5 months ago
Solved

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 actual

     

    Usa 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

  • 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 actual

     

    Usa la nueva columna en tus reportes. 

    Espero esta opción sirva. de ser así por favor marcala como solución. Kudos son bienvenidos.

     

  • v-achippa's avatar
    v-achippa
    Community 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-achippa's avatar
      v-achippa
      Community 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

  • 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"}
    )

     

     

    • JorgeDoig's avatar
      JorgeDoig
      New Member

      Thank you Mason... but Source it shows as not recognized word 

    • JorgeDoig's avatar
      JorgeDoig
      New 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"} )

       

      • MasonMA's avatar
        MasonMA
        Super 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"}
        )