Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
Anonymous
Not applicable

Claves JSON que no se importan

Hola a todos

Intentar incorporar algunos datos a través de una llamada JSON web. El problema es que no todas las claves se importan en la consulta JSON. En particular, el resultado JSON es:

{
"Listado": [
{
"QuoteNumber": "MHDN20-106176",
"BidDate": "2020-07-02 07.03.00",
"Accounts": "ECP"
},
{
"QuoteNumber": "MHDN20-105822",
"BidDate": "2020-07-02 15.44.00",
"Accounts": "BVR, CTR, ECP"
}
]
}

El "QuoteNumber" y "BidDate" vienen muy bien, pero no puedo conseguir "Cuentas" para aparecer. Si tomo el resultado JSON y lo guardo como un archivo . JSON y conectar de esa manera, "Cuentas" vienen bien.

¿Alguien tiene idea de por qué estaría pasando esto?

8 REPLIES 8
Anonymous
Not applicable

Hola @MHcconley ,

Intente ir al editor de consultas>editor avanzado, luego coloque los siguientes códigos dentro:

let
    Source = Json.Document(File.Contents(...YourJsonFile...)),
    ordercount = Source[ordercount][orderList],
    orders = Table.FromRecords(ordercount[orders])
in
    orders



Saludos
Kelly
¿He respondido a tu pregunta? ¡Marca mi puesto como una solución!
Anonymous
Not applicable

¡Gracias por la ayuda!

El código original que he estado usando (que parece funcionar para una variedad de claves, todas excepto "Cuentas"):

Dejar
Origen: Json.Document(Web.Contents("https://****&BidDate-Today:Today&QuoteStatus-0,2,3,4,5,6,7,9&Listing-Accounts,BidDate,QuoteNumber"))
En
Fuente

(He abreviado el enlace de arriba)

Si agredo las líneas de recuento de pedidos:

Dejar
Origen: Json.Document(Web.Contents("https://****&BidDate-Today:Today&QuoteStatus-0,2,3,4,5,6,7,9&Listing-Accounts,BidDate,QuoteNumber")),
ordercount - Source[ordercount][orderList],
orders á Table.FromRecords(ordercount[orders])
En
Órdenes

Recibo el siguiente error:

Expression.Error: no se encontró el campo 'ordercount' del registro.
Detalles:
Listado[Lista]

¿Cuál es el propósito del "número de pedidos" y "órdenes" y necesito modificarlos para que se ajusten a mis datos?

¿está seguro de que es ordercount y no orderCount ?

El código M distingue mayúsculas de minúsculas en este escenario.

Anonymous
Not applicable

No

Todavía estoy recibiendo errores. Desafortunadamente, tengo muy poca experiencia en el código M hasta ahora. Intenté actualizar el código propuesto a valores que pueden coincidir con mis datos:

Dejar
Origen: Json.Document(Web.Contents("https://****&BidDate-Today:Today&QuoteStatus-0,2,3,4,5,6,7,9&Listing-Accounts,BidDate,QuoteNumber")),
Listado - Fuente[Listado][quoteList],
quotes ? Table.FromRecords(Listing[quoteList])
En
presupuestos

Ahora estoy recibiendo el error:

Expression.Error: No podemos aplicar acceso de campo al tipo List.
Detalles:
Valor[Lista]
Key-quoteList

Utilice quoteList dos veces. No ver su JSON es difícil de solucionar, pero probablemente quería hacer

Listado - Fuente[Listado],
quotes ? Table.FromRecords(Listing[quoteList])

Anonymous
Not applicable

Aquí está otro ejemplo del JSON que se devuelve de la llamada Http (esto se copia directamente de un navegador después de realizar la llamada):

{
"Listado": [
{
"QuoteNumber": "MHDN20-105289",
"BidDate": "2020-07-06 08.50.00",
"Accounts": "ECP, STB"
},
{
"QuoteNumber": "MHDN20-106189",
"BidDate": "2020-07-06 07.44.00",
"Accounts": "ECP, KGK"
},
{
"QuoteNumber": "MHDN20-106190",
"BidDate": "2020-07-06 08.00.00",
"Accounts": "CTR, ECP, SJC"
},
{
"QuoteNumber": "MHDN20-106127",
"BidDate": "2020-07-06 10.00.00",
"Accounts": "CTR, ECP, SJC"
},
{
"QuoteNumber": "MHDN20-106139",
"BidDate": "2020-07-06 09.00.00",
"Accounts": "CTR, DHP, ECP, KCJ"
},
{
"QuoteNumber": "MHDN20-106171",
"BidDate": "2020-07-06 10.00.00",
"Accounts": "CTR, ECP, SJC"
}
]
}

Si guardo el archivo como, Power BI trae todas las claves bien. Si uso la llamada Web.Contents, la clave Accounts se omite por algún motivo.

En el código anterior, creo que el quoteListing es un problema, pero no estoy seguro de lo que sería, o incluso si me dirijo por el camino correcto para obtener los datos de las cuentas.

Pruebe este código

Dejar
Fuente: Json.Document(...),
Listado - Fuente[Listado],
"Convertido a la tabla" - Table.FromList(Listing, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
"Columna expandida1" - Table.ExpandRecordColumn(-"Convertido en tabla", "Column1", "QuoteNumber", "BidDate", "Cuentas", "QuoteNumber", "BidDate", "BidDate", "Cuentas")
En
"Columna expandida1"

lbendlin
Super User
Super User

es posible que deba mostrar parte del código de consulta de energía. ¿Algún carácter Unicode en los datos originales que te están desechando?

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors