dsrajapaksa
Hola !
Estoy construyendo un panel en línea de PowerBI que visualiza datos que se pueden recuperar de una llamada API directa para mi sistema backend con un punto final API como este:
(OBTENER) https://api.testapi.online/api/v1/admin/usageadmin/unreported/{programa}/{año}/{mes}
En el punto final de la API anterior, tengo tres variables dinámicas (programa, año, mes) que un usuario puede cambiar desde el menú desplegable del tablero y luego visualizar los datos. En este caso, no puedo recuperar los datos y almacenarlos en otra base de datos si estos datos son en tiempo real (cambian dinámicamente de vez en cuando).
¿Cómo puedo crear un panel para un caso de uso como este? Gracias por adelantado 🙂
v-lid-msft
Hola @dsrajapaksa,
Lo siento, pero actualmente Web Connector no es compatible con Directquery, podemos generar una tabla previa para obtener todos los resultados posibles y luego usar la actualización programada para que se actualice por horas.
La consulta de ejemplo está aquí:
let
TOKENS_TRING = "XXXXXXXXXXXXXXXXXXXXX",
// generate all the possible ProgramNames/Years/Month
ProgramsTable = Table.FromRows(
{
{"ProgramA"},
{"ProgramB"},
{"ProgramC"}
},
{"ProgramName"}
),
YearTable = Table.ExpandListColumn(Table.AddColumn(ProgramsTable,"Year",each {1990..2021}), "Year"),
MonthTable = Table.ExpandListColumn(Table.AddColumn(YearTable,"Month",each {1..12}), "Month"),
// Call APi for each program/Year/Month
Source = Table.AddCoulmn(MonthTable,"Data", each
let
// configure string
URL_STRING = "https://api.testapi.online/api/v1/admin/usageadmin/unreported/",
RELATIVE_PATH_STRING = [ProgramName] & "https://community.powerbi.com/" & [Year] & "https://community.powerbi.com/" & [Month],
TIMEOUT_VALUE = #duration(0,0,5,0),
HEADER_RECOEDS=[Authorization="Bearer " & TOKENS_TRING]
in
Web.Contents(URL_STRING,[RelativePath = RELATIVE_PATH_STRING, Timeout = TIMEOUT_VALUE, Headers = HEADER_RECOEDS])
)
in
Source
Luego expanda el [Data] Columna para obtener los datos deseados, puede aplicar cortadores / filtros para obtener datos filtrados
O puede intentar crear un conector personalizado ODBC para llamar a la API RESTful, el conector personalizado ODBC puede admitir consultas directas y lograr una experiencia de informe casi en tiempo real, consulte los siguientes documentos sobre cómo crear un conector personalizado:
https://docs.microsoft.com/en-us/power-query/startingtodevelopcustomconnectors
https://docs.microsoft.com/en-us/power-query/odbc#odbc-extensibility-functions
Atentamente,
dsrajapaksa
En respuesta a v-lid-msft
Gracias por la respuesta @ v-lid-msft: ¿Podemos cambiar dinámicamente las propiedades de la URL de la API de la manera anterior, por ejemplo, si el usuario selecciona el mes y el año en un menú desplegable en el panel de PowerBI? llamamos a la API pasando los valores dados por el usuario a través del menú desplegable?
v-lid-msft
En respuesta a dsrajapaksa
Hola @dsrajapaksa,
Lo siento por eso, según mi investigación, no encontramos una solución efectiva para cumplir con sus requisitos, si usamos el parámetro de consulta para cambiar la consulta, aún necesitamos actualizar el conjunto de datos para obtener los datos de actualización que dependen del parámetro. ¿Quizás @ImkeF pueda darnos una idea brillante o una guía adecuada?
Atentamente,
dsrajapaksa
En respuesta a v-lid-msft
Gracias por la respuesta @ v-lid-msft: @ImkeF ¿Puedo buscar su apoyo si conoce una solución para esto? Gracias de antemano 🙂