Maneje la solicitud de API REST en lenguaje M para mostrar datos y errores en el informe

Un usuario Pregunto ✅

laciodrom_80

Hola tios,

Me temo que no es posible, pero la esperanza es eterna Smiley muy feliz

Obtengo con éxito datos json mediante una solicitud http y también manejo el código de error de estado 404:

let

    GetJson = Web.Contents("http://localhost:8282/prova/units.json",
        [
            Headers = [CacheControl="no-cache", ContentType="application/json"],
            ManualStatusHandling={404}
        ]
    ),
    GetMetadata = Value.Metadata(GetJson),
    GetResponseStatus = GetMetadata[Response.Status],
    
    Output = if GetResponseStatus = 200 
                then let 
                        FormatAsJson = Json.Document(GetJson),
                        #"Converted to Table" = Table.FromList(FormatAsJson, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
                        #"Expanded {0}" = Table.ExpandRecordColumn(#"Converted to Table", "Column1", {"id", "name", "type", "subTypeId", "subTypeName", "subTypeDescription", "subTypeCategory", "pdsrId", "pdsrName", "zone", "operatorId", "operatorEtsoCode", "operatorBusinessName", "marketEnablings"}, {"id", "name", "type", "subTypeId", "subTypeName", "subTypeDescription", "subTypeCategory", "pdsrId", "pdsrName", "zone", "operatorId", "operatorEtsoCode", "operatorBusinessName", "marketEnablings"})                                                
                    in 
                        FormatAsJson
                else let 
                        errorCode = GetResponseStatus     
                    in 
                        errorCode,
    #"Converted to Table" = Table.FromList(Output, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Expanded {0}" = Table.ExpandRecordColumn(#"Converted to Table", "Column1", {"id", "name", "type", "subTypeId", "subTypeName", "subTypeDescription", "subTypeCategory", "pdsrId", "pdsrName", "zone", "operatorId", "operatorEtsoCode", "operatorBusinessName", "marketEnablings"}, {"Column1.id", "Column1.name", "Column1.type", "Column1.subTypeId", "Column1.subTypeName", "Column1.subTypeDescription", "Column1.subTypeCategory", "Column1.pdsrId", "Column1.pdsrName", "Column1.zone", "Column1.operatorId", "Column1.operatorEtsoCode", "Column1.operatorBusinessName", "Column1.marketEnablings"})


in 
    #"Expanded {0}"

Me gustaría que el informe basado en esta consulta muestre los datos obtenidos por la consulta cuando finaliza bien, pero también me gustaría ver el código de error de estado si falla.

El problema es que cuando ejecuto la consulta por primera vez sin errores, power bi crea su propio modelo para los datos devueltos en el caso de que no haya errores, por lo que si trato de causar un error (por ejemplo, cambiando el nombre de las unidades .json en el servidor web para producir un error 404) y luego actualizo el conjunto de datos del informe … power bi muestra la ventana emergente «Es imposible convertir el valor 404 en tipo Lista»

¿Podría ser posible escribir una consulta que me permita mostrar los datos del informe si termina bien y el código de error si termina mal?

¡Muchas gracias de antemano por cualquier pista!

mwegener

Hola @ laciodrom_80,

¿Aún necesitas ayuda?
¿Puede proporcionar un archivo unit.json de muestra?

Por favor, felicite por su apoyo.

Si respondí a su pregunta, marque mi publicación como solución, esto también ayudará a otros.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *