Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Administrator
4 years ago
Solved

Consultas de API

Buenas tardes querida,

Es la primera vez que trabajo con API's en PBI y no manejo correctamente todos los conceptos/errores que pueden llevar a cabo.


Tengo que conectarme a una API y extraer los datos de los trabajadores.

Documentación de la API: https://demo.buk.cl/apidocs#/

Empleados:

= (Page as number) =>
let
    Source = Json.Document(Web.Contents("INSERT URL?page="&Number.ToText(Page), [Headers=[token="xxxxxxxxxxxxxxx"]])),
    data = Source[data],
    #"Converted to Table" = Table.FromList(data, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Expanded Column1" = Table.ExpandRecordColumn(#"Converted to Table", "Column1", {"full_name", "rut"}, {"full_name", "rut"})
in
    #"Expanded Column1"

Consulta:

= List.Generate(()=> 
[Result = try employees(1) otherwise null, Page = 1], 
each [Result] <> null, 
each [Result = try employees([Page]+1) otherwise null, Page = [Page]+1],
each [Result])

Tutorial que seguí: https://www.youtube.com/watch?v=05yhwnuCjRw

No hay ningún problema en los datos que obtengo, pero el problema comienza cuando necesito actualizarlos automáticamente en PBI Service, donde obtengo el siguiente error:

Ivancito111_0-1649347971033.png

Traducción al inglés:

Este conjunto de datos incluye un origen de datos dinámico. Dado que estos orígenes no se actualizan en el servicio Power BI, este conjunto de datos no se actualizará. Obtenga más información en https://aka.ms/dynamic-data-sources.
Origen de datos Query1

Me gustaría que alguien me pudiera orientar qué modificación debo hacer para actualizar automáticamente o si ya es imposible actualizar de esta manera.

Muchas gracias por su tiempo, que tengan un buen día.

  • Hay @Ivancito111 ,

    Intente utilizar la opción Consulta en la función Web.contents :

    (Page as number) =>
    let
        Source = Json.Document(Web.Contents("https://xxxx/api/v1/chile/employees",[Query=[page=Number.ToText(Page)], Headers=[auth_token="xxxxxx"]])),
        data = Source[data],
        #"Converted to Table" = Table.FromList(data, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
        #"Expanded Column1" = Table.ExpandRecordColumn(#"Converted to Table", "Column1", {"full_name", "rut"}, {"full_name", "rut"})
    in
        #"Expanded Column1"
    let
        Query1 = List.Generate(()=> 
    [Result = try employees(1) otherwise null, Page = 1], 
    each [Result] <> null, 
    each [Result = try employees([Page]+1) otherwise null, Page = [Page]+1],
    each [Result]),
        Query2 = Query1{0}
    in
        Query2

    A continuación, publique el informe y seleccione "Omitir conexión de prueba" para este origen de datos.

    vkkfmsft_0-1649669215906.pngvkkfmsft_1-1649669236225.png

    Si el problema aún no se resuelve, proporcione información detallada sobre el error o el resultado esperado que espera. Hágamelo saber de inmediato, esperando su respuesta.
    Saludos
    Winniz
    Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

1 Reply

  • Hay @Ivancito111 ,

    Intente utilizar la opción Consulta en la función Web.contents :

    (Page as number) =>
    let
        Source = Json.Document(Web.Contents("https://xxxx/api/v1/chile/employees",[Query=[page=Number.ToText(Page)], Headers=[auth_token="xxxxxx"]])),
        data = Source[data],
        #"Converted to Table" = Table.FromList(data, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
        #"Expanded Column1" = Table.ExpandRecordColumn(#"Converted to Table", "Column1", {"full_name", "rut"}, {"full_name", "rut"})
    in
        #"Expanded Column1"
    let
        Query1 = List.Generate(()=> 
    [Result = try employees(1) otherwise null, Page = 1], 
    each [Result] <> null, 
    each [Result = try employees([Page]+1) otherwise null, Page = [Page]+1],
    each [Result]),
        Query2 = Query1{0}
    in
        Query2

    A continuación, publique el informe y seleccione "Omitir conexión de prueba" para este origen de datos.

    vkkfmsft_0-1649669215906.pngvkkfmsft_1-1649669236225.png

    Si el problema aún no se resuelve, proporcione información detallada sobre el error o el resultado esperado que espera. Hágamelo saber de inmediato, esperando su respuesta.
    Saludos
    Winniz
    Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.