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