Pruebas de PowerBIT
Intentando crear una columna con la siguiente lógica
#»Personalizado agregado» = Table.AddColumn(#»Tipo cambiado», «Personalizado», cada Text.Combine( List.ReplaceMatchingItems(Text.ToList ([CommaSeparatedNumbersColumnName]), { {100,»A» },{«200″,»B» },{«300″,»C» },{«,»»,»». } })),teclee el texto)
Resultado Esperado
100200300 —> ABC
100————>A
100,200 ———>A,B
Nota: solo {«,»»,»». } esta parte reemplazada
greg_deckler
@PowerBITesting: puede usar SUSTITUCIÓN en DAX:
New Column =
SUBSTITUTE(
SUBSTITUTE(
SUBSTITUTE([Column],"100","A"),
"200","B"
),
"300","C"
)
Debería poder hacer lo mismo en Power Query esencialmente anidando sus funciones de reemplazo. @ImkeF @edhans
edhans
Prueba este @PowerBITesting
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjQw0DECYmMDA6VYHTAfRkPEYgE=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column1 = _t]),
#"Added Custom" =
Table.AddColumn(
Source,
"Custom",
each
Text.Combine(
List.ReplaceMatchingItems(
{Text.Split([Column1], ",")}{0},
{{"100","A"},{"200","B"},{"300","C"}}
),"."
)
)
in
#"Added Custom"
Genera esto (NOTA: el código anterior reemplaza correctamente la coma con un punto. Mi captura de pantalla a continuación no refleja eso)
Cómo usar el código M proporcionado en una consulta en blanco:
1) En Power Query, seleccione Nueva fuente, luego Consulta en blanco
2) En la cinta Inicio, seleccione el botón «Editor avanzado»
3) Elimina todo lo que ves, luego pega el código M que te he dado en ese cuadro.
4) Presiona Listo
5) Consulte este artículo si necesita ayuda para usar este código M en su modelo.
greg_deckler
@PowerBITesting: puede usar SUSTITUCIÓN en DAX:
New Column =
SUBSTITUTE(
SUBSTITUTE(
SUBSTITUTE([Column],"100","A"),
"200","B"
),
"300","C"
)
Debería poder hacer lo mismo en Power Query esencialmente anidando sus funciones de reemplazo. @ImkeF @edhans
amichandak
@PowerBITesting, si son números separados por comas, use Text.Split en lugar de Text.ToList e intente
edhans
En respuesta a amichandak
@amitchandak: ¿probaste tu sugerencia? Simplemente devuelve un error cuando intento ese reemplazo simple.
amichandak
En respuesta a edhans
@edhans, hubo una fórmula con el resultado y asumí que funcionaba y text.Split convertirá una cadena de texto separada por comas y eso es lo que sugirió. Parece que eso también es necesario.
edhans
En respuesta a amichandak
Por eso le preguntaba a @amitchandak. Si leí la publicación original de @PowerBITesting correctamente, estaban obteniendo la columna con el rojo (1) a continuación y querían lo que aparece en la columna marcada con el rojo (2).
Pero todavía no puedo obtener su solución para reemplazar Text.ToList con Text.Split. Devuelve un error y no reemplaza correctamente 100 con A, 200 con B, etc.
Pero podría estar equivocado. Es por eso que preguntaba si lo probaste, ya que me gustaría ver tu solución para comprender mejor. No he podido hacerlo funcionar.