tilldunk
Hola,
Obtuve algunos datos del almacenamiento de la tabla IOT, incluida una columna con datos JSON, como se muestra a continuación.
Quiero extraer los datos de la cuarta columna y comencé expandiendo el contenido y luego analicé JSON.
Lo que obtuve es, como puede ver, una columna de listas. Ahora puedo agregar cada lista como una nueva consulta y obtener el formato (datos visibles) que quiero:
Sin embargo, mi objetivo es convertir toda la columna de listas a la vez, ya que extraer los valores fila por fila lleva bastante tiempo
(agregando las listas como nuevas consultas y finalmente agregando las consultas agregadas a una nueva tabla).
Mi pregunta: ¿hay algún paso / código simple (editor avanzado) que no sé, porque tendré que lidiar con muchas más filas como solo 18 en este ejemplo?
Cualquier ayuda será muy apreciada.
atentamente,
Hasta
v-huizhn-msft
Hola @tilldunk,
Intento probar bu obteniendo la fecha de un archivo json. Importo los datos y hago clic con el botón derecho en la columna de registro-> A la tabla de la siguiente manera.
Luego haga clic en columnas expandidas, obtenga la columna de la lista, luego haga clic en «Expandir a nuevas filas» -> columna expandida, obtengo el resultado esperado.
Aquí está mi declaración de consulta.
let Source = Json.Document(File.Contents("C:Usersv-huizhnDownloadsgenerated.json")), #"Converted to Table" = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error), #"Expanded Column1" = Table.ExpandRecordColumn(#"Converted to Table", "Column1", {"UserId", "id", "tipSecurableSet"}, {"Column1.UserId", "Column1.id", "Column1.tipSecurableSet"}), #"Expanded Column1.tipSecurableSet" = Table.ExpandRecordColumn(#"Expanded Column1", "Column1.tipSecurableSet", {"id", "Clients"}, {"Column1.tipSecurableSet.id", "Column1.tipSecurableSet.Clients"}), #"Expanded Column1.tipSecurableSet.Clients" = Table.ExpandListColumn(#"Expanded Column1.tipSecurableSet", "Column1.tipSecurableSet.Clients"), #"Expanded Column1.tipSecurableSet.Clients1" = Table.ExpandRecordColumn(#"Expanded Column1.tipSecurableSet.Clients", "Column1.tipSecurableSet.Clients", {"@odata.type", "typeId", "Entityids", "Clientid"}, {"Column1.tipSecurableSet.Clients.@odata.type", "Column1.tipSecurableSet.Clients.typeId", "Column1.tipSecurableSet.Clients.Entityids", "Column1.tipSecurableSet.Clients.Clientid"}) in #"Expanded Column1.tipSecurableSet.Clients1"
Para su escenario, no puedo reproducirlo. ¿Le importaría compartir la tabla de muestra para un análisis más detallado?
Atentamente,
Angelia
apo1979prio
¡¡¡Hola!!!
Solo 7 pasos para OBTENER JSON:
dejar
Fuente = SharePoint.Files («https: // Mysharepoint», [ApiVersion = 15]),
Step01 = Table.SelectRows (Fuente, cada Text.StartsWith ([Folder Path], «https: // Mysharepoint_SearchFolder /»)),
Step02 = Table.SelectColumns (Step01, {«Contenido», «Nombre», «Extensión», «Ruta de la carpeta»}),
Step03 = Table.SelectRows (Step02, cada [Extension] = «.json»),
Step04 = Table.SelectColumns (Step03, {«Content»}),
Step05 = Table.AddColumn (Step04, «Json», cada Json.Document ([Content], 65001)),
Step06 = Table.SelectColumns (Step05, {«Json»}),
Step07 = Table.ExpandListColumn (Step06, «Json»)
en
Paso 07
v-huizhn-msft
Hola @tilldunk,
Intento probar bu obteniendo la fecha de un archivo json. Importo los datos y hago clic derecho en la columna de registro-> A la tabla de la siguiente manera.
Luego haga clic en columnas expandidas, obtenga la columna de la lista, luego haga clic en «Expandir a nuevas filas» -> columna expandida, obtengo el resultado esperado.
Aquí está mi declaración de consulta.
let Source = Json.Document(File.Contents("C:Usersv-huizhnDownloadsgenerated.json")), #"Converted to Table" = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error), #"Expanded Column1" = Table.ExpandRecordColumn(#"Converted to Table", "Column1", {"UserId", "id", "tipSecurableSet"}, {"Column1.UserId", "Column1.id", "Column1.tipSecurableSet"}), #"Expanded Column1.tipSecurableSet" = Table.ExpandRecordColumn(#"Expanded Column1", "Column1.tipSecurableSet", {"id", "Clients"}, {"Column1.tipSecurableSet.id", "Column1.tipSecurableSet.Clients"}), #"Expanded Column1.tipSecurableSet.Clients" = Table.ExpandListColumn(#"Expanded Column1.tipSecurableSet", "Column1.tipSecurableSet.Clients"), #"Expanded Column1.tipSecurableSet.Clients1" = Table.ExpandRecordColumn(#"Expanded Column1.tipSecurableSet.Clients", "Column1.tipSecurableSet.Clients", {"@odata.type", "typeId", "Entityids", "Clientid"}, {"Column1.tipSecurableSet.Clients.@odata.type", "Column1.tipSecurableSet.Clients.typeId", "Column1.tipSecurableSet.Clients.Entityids", "Column1.tipSecurableSet.Clients.Clientid"}) in #"Expanded Column1.tipSecurableSet.Clients1"
Para su escenario, no puedo reproducirlo. ¿Le importaría compartir la tabla de muestra para un análisis más detallado?
Atentamente,
Angelia
ImkeF
Hola Till,
¿Intentaste hacer clic en los botones de expansión ?:
tilldunk
En respuesta a ImkeF
Sí, lo hice. Me dará esta tabla:
tilldunk
En respuesta a tilldunk
Bueno, tengo mi culpa. Hay esta fila de «Mensaje de prueba» que está arruinando todo. Eliminé la fila, expandí la columna y obtuve los resultados deseados.
Muchas gracias por tu ayuda, Till
ImkeF
En respuesta a tilldunk
Oh, ya veo: normalmente vería otro par de flechas de expansión (si todas las filas tuvieran el registro en ellas).
Esta es la solución alternativa: http: //www.thebiccountant.com/2017/07/25/how-to-expand-a-column-that-cannot-be-expanded-in-power-bi -…