Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hola a todos,
Soy nuevo Power BI y tengo problemas para analizar datos JSON desde una API SAAS.
Cuando hago clic derecho en la columna con datos JSON, la transformo a JSON y luego intento expandir esos datos JSON en columnas, solo veo una columna "v" en lugar de las columnas para las que necesito valores. Vea la captura de pantalla a continuación:
Cuando hago clic en Aceptar en él e intento expandir los datos en columnas nuevamente. Veo otra columna disponible "f" y si sigo haciéndolo, eventualmente obtengo dos opciones para seleccionar "Expandir a nuevas filas" y "Extraer valores..". Cuando expando a nuevas filas, obtengo el siguiente error:
Y si intento "Extraer valores" y selecciono "Ninguno" como delimitado, ya que no estoy seguro de qué delimitador usar. Recibo el siguiente error:
Uno de los registros en la columna que estoy tratando de analizar en JSON está estructurado de esta manera:
{"v":{"f":[{"v":null},{"v":null},{"v":null},{"v":"AnonymysedPhoneNumber"},{"v":null},{"v":null},{"v":"AnonymisedName"},{"v":null},{"v":null},{"v":"0"},{"v":null},{"v":null},{"v":null},{"v":null},{"v":"AnonymisedEmailAdress"},{"v":"AnonymisedID/Key"},{"v":null}]}}
Cualquier orientación sería muy apreciada, gracias.
Shah Nawaz
Gracias Rohit,
No, estoy obteniendo datos de Databse "Google BigQuery" conectándome a él a través de mi cuenta de gmail. No hay opción para seleccionar "JSON" en el momento de cargar o transformar datos. Se ve como según la captura de pantalla a continuación:
Luego hago clic derecho en la columna con algunos datos JSON, por ejemplo: columna "Primary_Contact", hago clic en "Transformar datos" y hago clic en "JSON". Esto luego me muestra "Grabar" en esta columna y luego, cuando intento expandirla, solo veo una columna "v" según las capturas de pantalla de mi primera publicación.
Hola @Shahnawaz
Por favor, pruebe esto:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45Wqo5RKotRsgJSaUAqGsrNK83JqdUhyIlRcszLz6vMrSxOTQnIyM9L9SvNTUotilEiQW8mUK9fYm4qkZoMSDbcNTcxM8cxJaUotbgYSTOyEk8Xfe/UShRJdGtia2uVYmMB", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [jsonTag = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"jsonTag", type text}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each Json.Document([jsonTag])),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"jsonTag"}),
#"Expanded Custom" = Table.ExpandRecordColumn(#"Removed Columns", "Custom", {"v"}, {"Custom.v"}),
#"Expanded Custom.v" = Table.ExpandRecordColumn(#"Expanded Custom", "Custom.v", {"f"}, {"Custom.v.f"}),
#"Expanded Custom.v.f" = Table.ExpandListColumn(#"Expanded Custom.v", "Custom.v.f"),
#"Expanded Custom.v.f1" = Table.ExpandRecordColumn(#"Expanded Custom.v.f", "Custom.v.f", {"v"}, {"Custom.v.f.v"})
in
#"Expanded Custom.v.f1"
Lo que he hecho aquí es agregar su muestra json como una fila como estaba en su captura de pantalla. Luego agregué una nueva columna y la analizaré como un documento json usando la función Json.Document en Power Query.
Esto me permite replicar los pasos generados automáticamente por Power Query en mi ejemplo anterior.
Este es el resultado final:
Atentamente
Rohit
Marque esta respuesta como la solución si resuelve su problema.
¡Aprecia sus felicitaciones! 😊
Muchas gracias Rohit,
Repliqué sus instrucciones anteriores, pero no estoy recibiendo las mismas reglas. Recibo el error "Expression.Error: No se encontró el campo 'jsonTag' del registro.
Por favor, vea la captura de pantalla a continuación:
Seguí los siguientes pasos:
1. En un informe de power bi en blanco/nuevo, introduzca datos JSON de ejemplo en la primera fila de la columna1 haciendo clic en "Introducir datos" en las herramientas de tabla.
2. Abrió power query Editor y agregó la columna Personalizada con fórmula =[Columna1] y presione OK
3. Esto me dio la fórmula similar a la tuya que es: = Table.AddColumn(#"Changed Type", "Custom", each [Column1])
4. Reemplazó [Column1] en la fórmula con Json.Document([jsonTag]) y presionó la tecla Enter. La fórmula ahora dice = Table.AddColumn(#"Changed Type", "Custom", each Json.Document([jsonTag]))
Hola @Shahnawaz ,
Debe cambiar el nombre de la columna a "jsonTag" antes de poder agregar la nueva columna.
En su captura de pantalla, se refiere a la columna "jsonTag", pero su columna se llama "Columna1"
Atentamente
Rohit
Lo siento Rohit, no me di cuenta de que jsonTag era el nombre de la columna. Intenté de nuevo cambiar el nombre de la columna a jsonTag y todavía no funciona. Consulte los pasos en las capturas de pantalla a continuación:
1. Después de usar la fórmula resaltada a continuación:
2. No generó automáticamente ninguno de los pasos como lo hizo para usted. Ahora, cuando intento expandir el colum personalizado, muestra dos columnas y el problema sigue siendo el mismo.
Hola @Shahnawaz ,
No generará automáticamente los pasos por usted. Consulte lo que escribí "Esto me permite replicar los pasos generados automáticamente por Power Query en mi ejemplo anterior".
Tendrá que agregar los pasos de reminado manualmente desde el código que le envié anteriormente.
Atentamente
Rohit
Guardé los datos de ejemplo en un archivo de prueba denominado "Test.txt" y los cargué en Power Query.
Así es como se ve el archivo
Luego cargué este archivo en Power Query usando JSON como origen
Power Query generó automáticamente una serie de pasos y analizó automáticamente la siguiente estructura de la fila de datos
let
Source = Json.Document(File.Contents("Test.txt")),
#"Converted to Table" = Table.FromRecords({Source}),
#"Expanded v" = Table.ExpandRecordColumn(#"Converted to Table", "v", {"f"}, {"v.f"}),
#"Expanded v.f" = Table.ExpandListColumn(#"Expanded v", "v.f"),
#"Expanded v.f1" = Table.ExpandRecordColumn(#"Expanded v.f", "v.f", {"v"}, {"v.f.v"}),
#"Changed Type" = Table.TransformColumnTypes(#"Expanded v.f1",{{"v.f.v", type any}})
in
#"Changed Type"
¿Está utilizando pasos similares para analizar sus datos?
Atentamente
Rohit
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |