Explorateur de données - Power BI

Bonjour,
J’utilise le code suivant pour appeler des données de Data Explorer vers PBI via l’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

J’ai pu charger des données d’une requête qui contient ce code :

–[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

mais lorsque j’appelle un autre rapport qui contient la requête suivante

SELECT
  user_id,
  COUNT(*) AS visits
FROM user_visits
WHERE visited_at > CURRENT_DATE - 30
GROUP BY 1
ORDER BY 2 DESC

il renvoie 422 : Unprocessable Entity
(cela prend beaucoup de temps avant de renvoyer cette erreur)

Est-il possible de corriger cela ?

Cette requête s’exécute-t-elle dans l’interface utilisateur de l’explorateur de données ? Si elle fonctionne là, mais pas dans votre intégration PowerBI, le problème se situe ailleurs que dans Discourse.

1 « J'aime »

@Falco, c’est exact, le rapport fonctionne instantanément dans l’interface utilisateur de Data Explorer

Je cherchais la source de l’erreur, j’ai trouvé cette description :
Le code d'état de réponse HTTP **422 Unprocessable Entity** indique que le serveur comprend le type de contenu de l'entité de la requête, et que la syntaxe de l'entité de la requête est correcte, mais qu'il n'a pas pu traiter les instructions qu'elle contenait.
cela semble venir du serveur ? non ?