تكامل مستكشف بيانات Discourse مع Power BI
لقد قمت مؤخرًا بإنشاء دالة Power BI رائعة تجلب بيانات مستكشف البيانات مباشرة إلى Power BI بأقل قدر من التكلفة الإضافية.
لذلك، إذا كنت مثلي وتود أن يتم سحب البيانات وتحديثها تلقائيًا عبر تطبيق Power BI، فإليك كود الدالة التي يجب عليك وضعها في محرر 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
وهنا استعلام عينة من مستكشف البيانات. يتضمن الترقيم المطلوب لكي تعمل الدالة أعلاه بشكل صحيح (وهو مطلوب حتى لو كان استعلامك يعيد صفحة واحدة فقط):
--[params]
-- integer :page = 0
SELECT count(*) from badges
OFFSET :page * 1000
LIMIT 1000
(يمكنك بسهولة تكييف استعلاماتك الحالية عن طريق تضمين السطرين الأول والأخير من المثال أعلاه)
ستستمر هذه الدالة تلقائيًا في التكرار عبر الصفحات حتى لا يتم العثور على نتائج أخرى.
كيفية جعلها تعمل؟
بعد تحميل الدالة إلى Power BI، ستحتاج إلى تعيين شيئين:
-
اسم المستخدم الخاص بـ API ومفتاح API (راجع الدالة أعلاه لمعرفة العناصر النائبة):
Headers = [ #"api-username"="yourAPIUsername", #"api-key"="yourAPIKey", -
رقم معرف الاستعلام (Query ID).
لجلب بياناتك، كل ما عليك تقديمه هو معرف الاستعلام الذي يسهل العثور عليه في عنوان URL للاستعلام:

يجب أن يبدو الأمر هكذا في Power BI بعد النقر على الدالة:
مخرجات العينة
هذه هي مخرجات استعلام العينة:

هذا كل شيء! يمكنك الآن تشكيل بياناتك بالطريقة التي تريدها.










