Campo claro con caracteres no alfanuméricos

Un usuario Pregunto ✅

joooffice

Algunos de los datos que estoy importando en mi consulta utilizan un alfabeto diferente, por lo que aparecen en la importación como una selección aleatoria de caracteres especiales en los campos.

¿Cómo borro los campos a nulo que contienen estos caracteres especiales sin tener que especificar cada tipo de carácter diferente?

lbendlin

En respuesta a joooffice

El camino peatonal sería

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WOjz9UcOcw9MVgHTLosPTD004PP3oZBCvYQaQtUMBKg/kgplAJUf3AZWtgKmfqxSrE62Ul5+XqpCfplCSkViiFBsLAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column1 = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}}),
    #"Added Conditional Column" = Table.AddColumn(#"Changed Type", "Custom", each if Text.Contains([Column1], Character.FromNumber(215)) then true else false)
in
    #"Added Conditional Column"

La forma genial es

https://community.powerbi.com/t5/Desktop/How-to-do-the-text-containsany-in-power-query/td-p/932611

lbendlin

no ha especificado la codificación utilizada durante la ingestión.

Puede mirar el valor hexadecimal de cada carácter y decidir si es ANSI (0 … 127) o cualquiera de los bytes iniciales Unicode, etc. y luego decidir qué hacer en cada caso.

joooffice

En respuesta a lbendlin

Gracias por la respuesta.

No sé qué codificación se utilizó durante la ingestión. Los campos son así en mi documento de Excel original, ya que se exporta desde una base de datos que puede hacer frente al otro alfabeto.

Un campo de ejemplo es:

× “× × ™ × ?? × œ × ‘× Ÿ ד ×’ × • × ž × ¨ × ™ × ??

Solo quiero que la consulta encuentre todas las celdas que contienen este tipo de caracteres, es decir, no A … Z y la puntuación habitual y las borre a nulo

lbendlin

En respuesta a joooffice

Puede usar 0xC3, ese es el × en tu texto.

O bien, podría usar UTF-8 para la ingestión.

joooffice

En respuesta a lbendlin

¿Cómo cambio la ingestión? La hoja de Excel de la que está obteniendo la consulta tiene los caracteres de todos modos.

¿Hay alguna manera de decir si no es A … Z o a … z y luego eliminarlo?

lbendlin

En respuesta a joooffice

El camino peatonal sería

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WOjz9UcOcw9MVgHTLosPTD004PP3oZBCvYQaQtUMBKg/kgplAJUf3AZWtgKmfqxSrE62Ul5+XqpCfplCSkViiFBsLAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column1 = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}}),
    #"Added Conditional Column" = Table.AddColumn(#"Changed Type", "Custom", each if Text.Contains([Column1], Character.FromNumber(215)) then true else false)
in
    #"Added Conditional Column"

La forma genial es

https://community.powerbi.com/t5/Desktop/How-to-do-the-text-containsany-in-power-query/td-p/932611

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *