Hola,
Estoy usando el siguiente código para llamar datos de Data Explorer a PBI a través de la API
(queryID) => let
resultCount = 10000,
otherNameForPage = 0,
GetPage = (otherNameForPage) =>
let
content1 = "params={" & "\"page\"" & ":" & """" & Number.ToText(otherNameForPage) & """" & "}",
RawData = Json.Document(Web.Contents(
"https://forum.xxxxxx.com/admin/plugins/explorer/queries",
[RelativePath=Number.ToText(queryID) & "/run",
Query=[params="{" & "\"page\"" & ":" & """" & Number.ToText(otherNameForPage) & """" & "}"]
,
Headers=[
#"api-username"="xxxxxxxx",
#"api-key"="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
#"Content-Type" = "application/x-www-form-urlencoded"],
Content = Text.ToBinary(content1)
]
) ),
resultCount = RawData[result_count]
in
if RawData[result_count] = 0 then null else RawData,
Pages = List.Generate(
() => [i = 0, RawData = GetPage(i)],
each [RawData] <> null,
each [i=[i]+1, RawData = GetPage(i)],
each Table.Combine(let raw = [RawData] in List.Transform(raw[rows], each Table.FromRows({_}, raw[columns])))),
Output = Table.Combine(Pages)
in
Output
Pude cargar datos de una consulta que contiene este código:
--[params]
-- integer :page = 0
select users.id, users.username, user_custom_fields.value from users, user_custom_fields
where users.id = user_custom_fields.user_id and user_custom_fields.name ='user_field_1'
OFFSET :page * 10000
LIMIT 10000
pero cuando llamo a otro informe que contiene la siguiente consulta
SELECT
user_id,
COUNT(*) AS visits
FROM user_visits
WHERE visited_at > CURRENT_DATE - 30
GROUP BY 1
ORDER BY 2 DESC
devuelve 422: Unprocessable Entity
(tarda mucho antes de devolver este error)
¿Es posible solucionarlo?