Integrazione di Discourse Data Explorer con Power BI
Di recente ho creato una funzione Power BI che recupera i dati da Data Explorer direttamente in Power BI con un sovraccarico minimo.
Quindi, se come me desideri che i dati vengano estratti e aggiornati automaticamente tramite l’app Power BI, ecco il codice della funzione da inserire nell’Editor Avanzato di Power BI:
(queryID) => let
resultCount = 1000,
otherNameForPage = 0,
GetPage = (otherNameForPage) =>
let
content1 = "params={""page"":""" & Number.ToText(otherNameForPage) & """}",
RawData = Json.Document(Web.Contents(
"https://forumURL/admin/plugins/explorer/queries",
[RelativePath=Number.ToText(queryID) & "/run",
Query=
[
params="{"page":"" & Number.ToText(otherNameForPage) & """}"
],
Headers = [
#"api-username"="yourAPIUsername",
#"api-key"="yourAPIKey",
#"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
Ecco un esempio di query Data Explorer. Include la paginazione necessaria affinché la funzione sopra funzioni correttamente (è richiesta anche se la tua query restituisce solo una pagina):
--[params]
-- integer :page = 0
SELECT count(*) from badges
OFFSET :page * 1000
LIMIT 1000
(puoi adattare facilmente le tue query esistenti includendo la prima e l’ultima riga dell’esempio sopra)
Questa funzione continuerà automaticamente a iterare sulle pagine fino a quando non verranno trovati altri risultati.
Come farlo funzionare?
Dopo aver caricato la funzione in Power BI, dovrai impostare 2 cose:
-
L’api-username e l’api-key (consulta la funzione sopra per i segnaposto):
Headers = [ #"api-username"="yourAPIUsername", #"api-key"="yourAPIKey", -
Il numero ID della query.
Per recuperare i tuoi dati, tutto ciò che devi fornire è l’ID della query, facile da trovare nell’URL della query:

Dopo aver fatto clic sulla funzione, in Power BI dovrebbe apparire così:
Esempio di output
Questo è l’output della query di esempio:

È tutto! Ora puoi modellare i tuoi dati come preferisci.


very useful.










