Como enmascarar caracteres en una columna en texto

  • managerdeproductivid
    Participante

    Estimada comunidad, tengo una duda:
    Si tengo una columna donde muestro los numeros de tarjeta, que tienen digamos 16 caracteres y debo de enmascarar los 8 caracteres o numeros del medio dejando ver los 4 numeros iniciales y los 4 numeros finales, como lo harian?.. estaba intentando en Power Query pero requiero de sus comentarios, gracias anticipadas:

     

     

    En el Power Query, duplique la columna en cuestion, a esa columna la dividi por caracteres en 8 y 8, pero estoy atascado buscando la manera que en la primera columna se transforme esos ultimos 4 caracteres indistintamente de cualquier numero que contenga por asterisco, y de conseguirlo replicarlo para la columna 2 para que sus 4 primeros caracteres se reemplazen por 4 asteriscos; para luego de ello unir las dos columnas.

    pero aun no encuentro la forma de hacerlo.
    Alguien entiende la plusvalia de lo que menciono?, asi creo que podrian enmascarar alguna info que finalmente debe ser reservada aun para el usuario.

    Agradecido de sus comentarios que puedan brindar,
    PD.- LA COLUMNA ESTA EN FORMATO TEXTO Y DEBE SEGUIR COMO TEXTO.
    Saludos!!
    Julio Zarate

  • jluis
    Participante

    Hola Julio

    Yo lo hubiera hecho con columnas auxiliares. Con el botón Extraer del Query Editor, extraería los 4 primeros dígitos en 1 columna, luego los 4 últimos en otra, y por último crearía una nueva concatenando los 4 primeros dígitos + “********” + los 4 últimos.

    Supongo que habrá una forma diferente, pero yo lo haría de esa forma. Espero te sirva.
    Saludos :+1:t4:

    rolando

    Hola Julio,

    En mi opinión podrías usar la función de Split Columns y luego Merge con caracteres de los asteriscos.

    Tal vez haya una manera más simple pero es lo que se me ocurre.

    Saludos

    managerdeproductivid
    Participante

    Hola Jluis, excelente idea, lo pongo a practica para comentarte que resulta, pero me parece de primera mano coherente y simple que agregaria aprox solo 4 pasos, asi que la voy a probar. Gracias!!!
    Saludos cordiales,
    Julio Zarate

    managerdeproductivid
    Participante

    Hola Rolando, gracias por responder, consulta como realizar el Merge o combinar con caracteres?, te referias a crear previamente la columna de 8 caracteres en asteriscos y de ahi hacer un MERGE de 3 columnas verdad?
    Saludos cordiales,
    Julio Zarate

     

    rolando

    Hola Julio,
    me parece que ya encontré otra manera más fácil.
    En el editor de Power Query en la pestaña de agregar columna esta el botón de Columna a partir de los ejemplos

     

    En este ejemplo que hice solo le puse que agarrara los primeros 2 digitos, se relllenara con 8 asteriscos y al final pusiera el último digito, podrías hacer algo así

     

    Espero te sea útil.

    Saludos

    managerdeproductivid
    Participante

    Rolando, Genial si se pudo!!!, muchas gracias, acá comparto lo realizado y se soluciono con un solo paso, GRACIAS EXCELENTE COMUNIDAD.

    = Table.AddColumn(#“Tipo cambiado1”, “Personalizado”, each Text.Combine({Text.Start([NROTAR], 9), “******”, Text.Middle([NROTAR], 15)}), type text)

    Saludos cordiales,
    Julio Zarate

    MaruSolis

    Hola Julio:

    Me da gusto que haya varias aportaciones para este tema ya que eso indica que existen varios caminos para llegar a lo que se desea.

    Otra opción es directamente en el query editor, agregar una columna personalizada y usar la función Text.ReplaceRange como en el siguiente ejemplo:

    Text.ReplaceRange([numeroTarjeta],3,8,"********")

    Espero te sea de utilidad.

    Saludos :ok_hand:

    managerdeproductivid
    Participante
    managerdeproductivid
    Participante

    Text.ReplaceRange([numeroTarjeta],3,8,"********")

    Maru, que guenazo!!, me salio como bien mencionas, muchas gracias y espero yo tmb pueda ayudarte en algun momento.

    Saludos,
    Julio Zarate

    MaruSolis

    Perfecto, me agrada que te haya sido de utilidad.
    Saludos :raised_hand_with_fingers_splayed:

Viendo 10 respuestas - de la 1 a la 10 (de un total de 10)
  • Debes estar registrado para responder a este debate.