Hola
Me enfrento a un problema en pasos posteriores de mi modelado de datos en PowerQuery. Después de algunas transformaciones, estoy usando el análisis Json para extraer información de los mensajes Json.
La mayor parte del análisis de Json está bien hasta que llego a un punto en el que uno de los elementos de Json es una lista y esa lista se compone de registros, esto es un problema para PowerQuery ya que no me permitirá extraer esos valores debido a:
Esta lista puede contener muchos registros (aunque lo más probable es que no sea más grande que 4 o 5), y cada registro es un objeto Json con algunos elementos (de los cuales solo necesito 2 por ahora). Mi mayor problema es superar el punto en el que no puedo extraer esos registros como columnas adicionales como en el resto del proceso de análisis (usar la opción de expandir nuevas líneas me causará duplicados y dolores de cabeza ya que esta tabla tiene muchas otras columnas y usará relaciones más adelante).
Hay un problema similar ya reportado:
Pero no puedo entender la solución sugerida allí por @MarcelBeug ya que se adapta a ese caso específico.
¿Alguien puede ayudarme a entender cuál es realmente el problema y cómo lidiar con él?
¡Muchas gracias de antemano!
Creo que entiendo el código que publicas, pero no creo que funcione. Creo que ese es el código para expandir una columna de registros (eso es lo que se genera automáticamente al presionar el icono de expandir en la parte superior derecha de cualquier columna de registros). Eso funciona para los pasos anteriores.
El problema es que mi columna es una columna de lista y al intentar extraer esos valores en las listas a nuevas columnas, da los errores, ya que solo puede hacer esa operación con texto y aparentemente los registros no se pueden convertir en texto.
Además, no sé cuántos registros hay en las listas, algunos podrían tener uno, algunos 2 o podrían ser más, no hay forma de saberlo de antemano.
Creo que realmente resolví esta parte extrayendo los valores en nuevas filas (lo que creó duplicados) y luego pivotando las columnas (que creo, no estoy seguro, devolvió la tabla a ningún duplicado y agregó los valores en las filas adicionales a las columnas).
¡Gracias por la ayuda de todos modos!
El mensaje de error que está viendo se debe al hecho de que está intentando convertir un registro en texto. En Power Query, puede usar la función Table.ExpandRecordColumn para expandir los registros de una lista en columnas independientes. Aquí hay un ejemplo de cómo usar esta función:
let
Source = Json.Document(JsonText),
#"Converted to Table" = Record.ToTable(Source),
#"Expanded Value" = Table.ExpandRecordColumn(#"Converted to Table", "Value", {"Column1", "Column2"}, {"Column1", "Column2"})
in
#"Expanded Value"
También he encontrado una publicación similar, por favor consúltela para ver si te ayuda.
Cómo obtener respuestas rápidas a su pregunta
Si no ayuda, proporcione más detalles.
Saludos
Equipo de apoyo comunitario _ Rongtie
Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.