تحليل الشبكة الاجتماعية باستخدام Power BI و R: دليل مرئي مخصص

نشرت: 2022-07-22

أصبح تحليل الشبكات الاجتماعية بسرعة أداة مهمة لخدمة مجموعة متنوعة من الاحتياجات المهنية. يمكنه إعلام أهداف الشركة مثل التسويق المستهدف وتحديد مخاطر الأمان أو السمعة. يمكن أن يساعد تحليل الشبكات الاجتماعية أيضًا الشركات على تحقيق الأهداف الداخلية: فهو يوفر نظرة ثاقبة لسلوكيات الموظفين والعلاقات بين الأجزاء المختلفة للشركة.

يمكن للمنظمات استخدام عدد من الحلول البرمجية لتحليل الشبكات الاجتماعية ؛ لكل منها مزاياها وعيوبها ، وهي مناسبة لأغراض مختلفة. تركز هذه المقالة على Power BI من Microsoft ، وهي إحدى أدوات تصور البيانات الأكثر استخدامًا اليوم. بينما يقدم Power BI العديد من الوظائف الإضافية للشبكات الاجتماعية ، سنستكشف المرئيات المخصصة في R لإنشاء نتائج أكثر إقناعًا ومرونة.

يفترض هذا البرنامج التعليمي فهم نظرية الرسم البياني الأساسية ، وخاصة الرسوم البيانية الموجهة. أيضًا ، الخطوات اللاحقة هي الأنسب لـ Power BI Desktop ، والمتوفر فقط على Windows. يمكن للقراء استخدام مستعرض Power BI على نظام التشغيل Mac OS أو Linux ، لكن مستعرض Power BI لا يدعم ميزات معينة ، مثل استيراد مصنف Excel.

هيكلة البيانات من أجل التصور

يبدأ إنشاء الشبكات الاجتماعية بجمع بيانات الاتصالات (الحافة). تحتوي بيانات الوصلات على حقلين أساسيين: العقدة المصدر والعقدة الهدف - العقد الموجودة في أي من طرفي الحافة. خارج هذه العُقد ، يمكننا جمع البيانات لإنتاج رؤى مرئية أكثر شمولاً ، يتم تمثيلها عادةً كخصائص عقدة أو حافة:

1) خصائص العقدة

  • الشكل أو اللون : يشير إلى نوع المستخدم ، على سبيل المثال ، موقع / بلد المستخدم
  • الحجم : يشير إلى الأهمية في الشبكة ، على سبيل المثال ، عدد المتابعين للمستخدم
  • الصورة : تعمل كمعرف فردي ، على سبيل المثال ، الصورة الرمزية للمستخدم

2) خصائص الحافة

  • اتصال اللون أو الخط أو رأس السهم : يشير إلى نوع الاتصال ، على سبيل المثال ، شعور المنشور أو التغريدة التي تربط بين المستخدمين
  • العرض : يشير إلى قوة الاتصال ، على سبيل المثال ، عدد الإشارات أو إعادة التغريد التي تمت ملاحظتها بين مستخدمين في فترة معينة

دعنا نفحص مثالًا مرئيًا للشبكة الاجتماعية لنرى كيف تعمل هذه الخصائص:

يظهر الرسم البياني للدوائر المتصلة بخطوط متفاوتة العرض بثلاثة أقسام مميزة. يحتوي الجانب الأيسر من الرسم البياني على ستة أشكال خضراء بأحجام مختلفة مسماة 1 و 2 و 3 و 4 و 5 و 6 في شكل سداسي. الأرقام من 1 إلى 5 دوائر ، بينما الرقم 6 عبارة عن ماسة. وهي متصلة ببعضها البعض بواسطة أسهم خضراء ذات عروض واتجاهات مختلفة ، وبعض رؤوس الأسهم مملوءة باللون الأخضر بينما البعض الآخر غير مملوء. على يمين الأشكال الخضراء يوجد القسم التالي: ثلاثة أشكال زرقاء داكنة مرتبة في مثلث مُسمى 7 و 8 و 9 ، ومتصلة ببعضها بواسطة أسهم زرقاء ذات عرض واتجاهات مختلفة (مع بعض رؤوس الأسهم مملوءة باللون الأزرق). العقدان 7 و 9 متصلتان بالعقدتين 3 و 4 بأسهم رمادية ذات عروض واتجاهات مختلفة (مع بعض رؤوس الأسهم مملوءة باللون الرمادي). يوجد في منتصف الرسم البياني ، أسفل أول مجموعتين للشكل ، ماسة واحدة ذات لون أزرق فاتح مسمى 10. وهي متصلة بالعقد 5 و 4 و 9 بواسطة أسهم رمادية منقطة ذات عروض واتجاهات مختلفة (مع بعض رؤوس الأسهم مملوءة باللون الرمادي) .
تُظهر العقد باللون الأخضر والأزرق الفاتح والأزرق الداكن والأشكال المختلفة للدوائر أو الماس أنواعًا مختلفة من العقد. تعمل الأرقام ذات الخلفيات الشفافة كمعرفات لصورة العقدة ، والعقد الأكبر (مثل العقدة 4) أكثر أهمية في الشبكة. يشار إلى أنواع الحواف المختلفة باللون (أخضر أو ​​أزرق أو رمادي) ، والحد (متصل أو منقط) ، ورؤوس الأسهم (فارغة أو معبأة) ؛ يُظهر عرض الحافة قوة (على سبيل المثال ، الاتصال من العقدة 8 إلى العقدة 9 قوي).

يمكننا أيضًا استخدام نص التمرير لتكملة أو استبدال المعلمات المذكورة أعلاه ، حيث يمكن أن تدعم المعلومات الأخرى التي لا يمكن التعبير عنها بسهولة من خلال خصائص العقدة أو الحافة.

مقارنة ملحقات الشبكة الاجتماعية الخاصة بـ Power BI

بعد تحديد ميزات البيانات المختلفة لشبكة اجتماعية ، دعنا نفحص إيجابيات وسلبيات أربع أدوات شائعة تُستخدم لتصور الشبكات في Power BI.

امتداد رسم بياني للشبكة الاجتماعية بواسطة آرثر غراوس متصفح الشبكة شبكات متقدمة بواسطة ZoomCharts (Light Edition) المرئيات المخصصة باستخدام R
حجم العقدة الديناميكية نعم نعم نعم نعم
حجم الحافة الديناميكي رقم نعم رقم نعم
تخصيص لون العقدة نعم نعم رقم نعم
معالجة الشبكات الاجتماعية المعقدة رقم نعم نعم نعم
صور الملف الشخصي للعقد نعم رقم رقم نعم
تكبير قابل للتعديل رقم نعم نعم نعم
أعلى N اتصالات التصفية رقم رقم رقم نعم
معلومات مخصصة على التمرير رقم رقم رقم نعم
تخصيص لون الحواف رقم رقم رقم نعم
الميزات المتقدمة الأخرى رقم رقم رقم نعم


يعد الرسم البياني للشبكة الاجتماعية بواسطة Arthur Graus و Network Navigator و Advanced Networks من ZoomCharts (Light Edition) امتدادات مناسبة لتطوير شبكات اجتماعية بسيطة والبدء في أول تحليل للشبكات الاجتماعية.

ترتبط العديد من الدوائر باللون الأزرق الداكن والأزرق الفاتح والبرتقالي (أكثر من 50 دائرة) بخطوط رمادية رفيعة على خلفية بيضاء. الدوائر لها حدود ملونة صلبة ومليئة بصور صغيرة لبوكيمون مختلفة ذات خلفية بيضاء ، والدوائر تحجب رؤية معظم الخطوط الرمادية. إنها تشكل شكل دائري بشكل عام.
مثال مرئي تم إجراؤه باستخدام الرسم البياني للشبكة الاجتماعية بامتداد Arthur Graus.

ترتبط العديد من الدوائر باللون الأزرق والأرجواني والرمادي (أكثر من 50 دائرة) بخطوط رمادية رفيعة على خلفية بيضاء. الدوائر صلبة ومملوءة ، وتحجب رؤية بعض الخطوط الرمادية. إنها تشكل ترتيبًا دائريًا بشكل عام.
مثال مرئي تم إجراؤه باستخدام ملحق Network Navigator.

ترتبط العديد من الدوائر البرتقالية الكبيرة والصغيرة (أكثر من 50 دائرة) بخطوط رمادية رفيعة على خلفية بيضاء. الدوائر صلبة وممتلئة ، ومعظم الخطوط الرمادية مرئية. إنها تشكل شكل إسفين أفقي بشكل عام ، مع ظهور دوائر أكثر كثافة سكانية على الجانب الأيمن. في الجزء السفلي الأيسر من الرسم البياني ، هناك عدد قليل من رموز الأدوات ودائرتين معنونتين: دائرة زرقاء مخضرة معنونة "من المستخدم" ، ودائرة برتقالية معنونة "إلى المستخدم". في الجزء السفلي الأيمن من الرسم البياني يوجد شعار مكتوب عليه "خرائط التكبير / التصغير".
مثال مرئي تم إجراؤه باستخدام امتداد Advanced Networks بواسطة ZoomCharts (Light Edition).

ومع ذلك ، إذا كنت ترغب في جعل بياناتك تنبض بالحياة والكشف عن رؤى رائدة باستخدام مرئيات تجذب الانتباه ، أو إذا كانت شبكتك الاجتماعية معقدة بشكل خاص ، فإنني أوصي بتطوير مرئياتك المخصصة في R.

ترتبط العديد من الدوائر باللون الأخضر والأزرق والأرجواني (أكثر من 50 دائرة) بخطوط رفيعة بألوان مختلفة (أخضر ورمادي وأحمر) على خلفية بيضاء. الدوائر صلبة ومليئة بصورة بوكيمون في وسطها ، ومعظم الخطوط الرفيعة مرئية. إنها تشكل شكلًا دائريًا منتشرًا بشكل عام ، حيث تتفرع الدوائر الخضراء بشكل متكرر نحو دوائر زرقاء أو أرجوانية أصغر. يوجد في الزاوية العلوية اليمنى من الرسم البياني النص "الشبكة الاجتماعية" ، وتوجد أسفل المخطط وسيلة إيضاح للخطوط والدوائر مع النص ذي الصلة: خط أخضر مع النص "إيجابي" ، وخط رمادي مع النص "محايد" خط أحمر به النص "سلبي" ، ودائرة زرقاء بها النص "أذكر" ، ودائرة أرجوانية بها النص "إعادة تغريد".
مثال مرئي تم إجراؤه باستخدام مرئيات مخصصة في R.

هذا التصور المخصص هو النتيجة النهائية لتمديد الشبكة الاجتماعية لبرنامجنا التعليمي في R ويوضح مجموعة كبيرة ومتنوعة من الميزات وخصائص العقدة / الحافة التي يقدمها R.

بناء امتداد شبكة اجتماعية لـ Power BI باستخدام R.

يتألف إنشاء امتداد لتصور الشبكات الاجتماعية في Power BI باستخدام R من خمس خطوات متميزة. ولكن قبل أن نتمكن من بناء امتداد شبكتنا الاجتماعية ، يجب علينا تحميل بياناتنا في Power BI.

المتطلب الأساسي: جمع البيانات وتحضيرها لـ Power BI

يمكنك متابعة هذا البرنامج التعليمي بمجموعة بيانات اختبار استنادًا إلى بيانات Twitter و Facebook أو المتابعة مع شبكة التواصل الاجتماعي الخاصة بك. تم توزيع بياناتنا بشكل عشوائي ؛ يمكنك تنزيل بيانات Twitter الحقيقية إذا رغبت في ذلك. بعد أن تقوم بتجميع البيانات المطلوبة ، قم بإضافتها إلى Power BI (على سبيل المثال ، عن طريق استيراد مصنف Excel أو إضافة البيانات يدويًا). يجب أن تبدو نتيجتك مشابهة للجدول التالي:

يظهر جدول به ثلاثة عشر صفا رماديا وأبيض بالتناوب. لها عنوان --- "الشبكة الاجتماعية" --- مع رؤوس تحتها. العمود الأول يسمى "من المستخدم" ويحتوي على ثمانية نصوص "1" متبوعة بخمسة نصوص "2". العمود الثاني يسمى "إلى المستخدم" ويقرأ (من أعلى إلى أسفل): 2 ، 3 ، 5 ، 6 ، 7 ، 8 ، 9 ، 10 ، 7 ، 8 ، 11 ، 13 ، 14. العمود الثالث يسمى " عدد الوصلات "ويقرأ (من أعلى إلى أسفل): 12 ، 46 ، 29 ، 79 ، 49 ، 11 ، 90 ، 100 ، 66 ، 29 ، 62 ، 13 ، 45. العمود الرابع يسمى" النوع "ويقرأ ( من أعلى إلى أسفل): إعادة التغريد ، الإشارة ، الإشارة ، إعادة التغريد ، إعادة التغريد ، إعادة التغريد ، الإشارة ، الإشارة ، إعادة التغريد ، إعادة التغريد ، إعادة التغريد ، إعادة التغريد ، الإشارة. العمود الخامس يسمى "المشاعر" ويقرأ (من أعلى إلى أسفل): إيجابي ، إيجابي ، سلبي ، محايد ، إيجابي ، سلبي ، إيجابي ، محايد ، محايد ، سلبي ، سلبي ، سلبي ، سلبي. العمود السادس بعنوان "من اسم المستخدم" ويحتوي على ثمانية نصوص "عالية" تليها خمسة نصوص "هارون". يقرأ العمود السابع "To User Name" ويقرأ (من أعلى إلى أسفل): Aaron ، Abel ، Abraham ، Ace ، Adalyn ، Adalynn مع اثنين من Ns ، Adam ، Addison ، Adalyn ، Adalynn مع اثنين Ns ، Adeline ، Adriel ، Aidan. يقرأ العمود الثامن "من الصورة الرمزية" ويحتوي على ثمانية نصوص "https://raychemmedica.com/SampleImages/Pokemon/1.png" متبوعة بخمسة نصوص "https://raychemmedica.com/SampleImages/Pokemon/2.png" . يقرأ العمود التاسع "إلى Avatar" وكل إدخال به النص "https://raychemmedica.com/SampleImages/Pok" ويبدو أنه مقطوع.

بمجرد إعداد بياناتك ، تكون جاهزًا لإنشاء تصور مخصص.

الخطوة 1: قم بإعداد قالب التصور

إن تطوير مرئيات Power BI ليس بالأمر السهل - فحتى المرئيات الأساسية تتطلب آلاف الملفات. لحسن الحظ ، تقدم Microsoft مكتبة تسمى pbiviz ، والتي توفر ملفات دعم البنية التحتية المطلوبة ببضعة سطور فقط من التعليمات البرمجية. ستعيد مكتبة pbiviz أيضًا حزم جميع ملفاتنا النهائية في ملف .pbiviz يمكننا تحميله مباشرةً في Power BI كمرئيات.

إن أبسط طريقة لتثبيت pbiviz هي باستخدام Node.js. بمجرد تثبيت pbiviz ، نحتاج إلى تهيئة R المرئية المخصصة الخاصة بنا عبر واجهة سطر الأوامر الخاصة بالجهاز:

 pbiviz new toptalSocialNetworkByBharatGarg -t rhtml cd toptalSocialNetworkByBharatGarg npm install pbiviz package

لا تنسَ استبدال toptalSocialNetworkByBharatGarg بالاسم المطلوب لتصورك. -t rhtml بإعلام حزمة pbiviz بأنه يجب عليها إنشاء نموذج لتطوير تصورات HTML القائمة على R. سترى أخطاء لأننا لم نحدد حقولاً بعد مثل اسم المؤلف والبريد الإلكتروني في الحزمة الخاصة بنا ، لكننا سنحلها لاحقًا في البرنامج التعليمي. إذا لم يتم تشغيل البرنامج النصي pbiviz على الإطلاق في PowerShell ، فقد تحتاج أولاً إلى السماح بالبرامج النصية باستخدام Set-ExecutionPolicy RemoteSigned .

عند التنفيذ الناجح للرمز ، سترى مجلدًا بالهيكل التالي:

قائمة مستكشف الملفات تحتوي على ثمانية مجلدات فرعية (.tmp ، .vscode ، الأصول ، التوزيع ، العقدة_الوحدات ، r_files ، src ، والنمط) وثمانية ملفات (إمكانات. .json و script.r و tsconfig.json و tslint.json). جميع الملفات حجمها 1 كيلوبايت ، باستثناء قدرات json (2 كيلوبايت) و package-lock.json (23 كيلوبايت).

بمجرد أن تصبح بنية المجلد جاهزة ، يمكننا كتابة رمز R لتصورنا المخصص.

الخطوة 2: كود التمثيل المرئي في R.

يحتوي الدليل الذي تم إنشاؤه في الخطوة الأولى على ملف يسمى script.r ، والذي يتكون من التعليمات البرمجية الافتراضية. (يُنشئ الرمز الافتراضي امتدادًا بسيطًا لـ Power BI ، والذي يستخدم قاعدة بيانات نموذج iris المتوفرة في R لرسم مخطط بياني Petal.Length بواسطة Petal.Species .) سنقوم بتحديث الكود ولكننا نحتفظ بهيكله الافتراضي ، بما في ذلك الأقسام المعلقة.

يستخدم مشروعنا ثلاث مكتبات R:

  • DiagrammeR: إنشاء الرسوم البيانية من النص
  • visNetwork: يوفر تصورات تفاعلية للشبكة
  • data.table: يساعد في تنظيم البيانات ، على غرار data.frame

دعنا نستبدل الكود الموجود في قسم Library Declarations في script.r استخدام مكتبتنا:

 libraryRequireInstall("DiagrammeR") libraryRequireInstall("visNetwork") libraryRequireInstall("data.table")

بعد ذلك ، سنقوم باستبدال الكود الموجود في قسم Actual code R الخاص بنا. قبل إنشاء تصورنا ، يجب علينا أولاً قراءة بياناتنا ومعالجتها. سنأخذ مدخلين من Power BI:

  • num_records : الإدخال الرقمي N ، بحيث نختار فقط أفضل اتصالات N من شبكتنا (للحد من عدد الاتصالات المعروضة)
  • dataset : عُقد وحواف شبكتنا الاجتماعية

لحساب الاتصالات N التي سنرسمها ، نحتاج إلى تجميع قيمة num_records لأن Power BI ستوفر متجهًا افتراضيًا بدلاً من قيمة رقمية واحدة. دالة التجميع مثل max تحقق هذا الهدف:

 limit_connection <- max(num_records)

سنقرأ الآن dataset ككائن data.table مع أعمدة مخصصة. نقوم بفرز مجموعة البيانات حسب القيمة بترتيب تنازلي لوضع الاتصالات الأكثر شيوعًا في أعلى الجدول. هذا يضمن أننا نختار أهم السجلات التي نرسمها عندما نقصر اتصالاتنا مع num_records :

 dataset <- data.table(from = dataset[[1]] ,to = dataset[[2]] ,value = dataset[[3]] ,col_sentiment = dataset[[4]] ,col_type = dataset[[5]] ,from_name = dataset[[6]] ,to_name = dataset[[7]] ,from_avatar = dataset[[8]] ,to_avatar = dataset[[9]])[ order(-value)][ seq(1, min(nrow(dataset), limit_connection))]

بعد ذلك ، يجب علينا إعداد معلومات المستخدم الخاصة بنا عن طريق إنشاء وتخصيص معرفات مستخدم فريدة ( uid ) لكل مستخدم ، وتخزينها في جدول جديد. نحسب أيضًا العدد الإجمالي للمستخدمين ونخزن هذه المعلومات في متغير منفصل يسمى num_nodes :

 user_ids <- data.table(id = unique(c(dataset$from, dataset$to)))[, uid := 1:.N] num_nodes <- nrow(user_ids)

دعونا نقوم بتحديث معلومات المستخدم الخاصة بنا بخصائص إضافية ، بما في ذلك:

  • عدد المتابعين (حجم العقدة).
  • عدد السجلات.
  • نوع المستخدم (رموز الألوان).
  • روابط الصورة الرمزية.

سنستخدم وظيفة merge R لتحديث الجدول:

 user_ids <- merge(user_ids, dataset[, .(num_follower = uniqueN(to)), from], by.x = 'id', by.y = 'from', all.x = T)[is.na(num_follower), num_follower := 0][, size := num_follower][num_follower > 0, size := size + 50][, size := size + 10] user_ids <- merge(user_ids, dataset[, .(sum_val = sum(value)), .(to, col_type)][order(-sum_val)][, id := 1:.N, to][id == 1, .(to, col_type)], by.x = 'id', by.y = 'to', all.x = T) user_ids[id %in% dataset$from, col_type := '#42f548'] user_ids <- merge(user_ids, unique(rbind(dataset[, .('id' = from, 'Name' = from_name, 'avatar' = from_avatar)], dataset[, .('id' = to, 'Name' = to_name, 'avatar' = to_avatar)])), by = 'id')

نضيف أيضًا uid الذي أنشأناه إلى مجموعة البيانات الأصلية حتى نتمكن من استرداد معرفات المستخدم from to معرفات المستخدم لاحقًا في الكود:

 dataset <- merge(dataset, user_ids[, .(id, uid)], by.x = "from", by.y = "id") dataset <- merge(dataset, user_ids[, .(id, uid_retweet = uid)], by.x = "to", by.y = "id") user_ids <- user_ids[order(uid)]

بعد ذلك ، نقوم بإنشاء إطارات بيانات العقدة والحافة للتصور. نختار style shape عقدنا (الدوائر المملوءة) ، ونختار الأعمدة الصحيحة من جدول user_ids لتعبئة سمات color العقد data value image :

 nodes <- create_node_df(n = num_nodes, type = "lower",, color = user_ids$col_type, shape = 'circularImage', data = user_ids$uid, value = user_ids$size, image = user_ids$avatar, title = paste0("<p>Name: <b>", user_ids$Name,"</b><br>", "Super UID <b>", user_ids$id, "</b><br>", "# followers <b>", user_ids$num_follower, "</b><br>", "</p>") )

وبالمثل ، فإننا نختار أعمدة جدول dataset التي تتوافق مع سمات حوافنا from ، to ، color :

 edges <- create_edge_df(from = dataset$uid, to = dataset$uid_retweet, arrows = "to", color = dataset$col_sentiment)

أخيرًا ، مع وجود إطارات بيانات العقدة والحافة جاهزة ، فلنقم بإنشاء تصورنا باستخدام مكتبة visNetwork في متغير سيستخدمه الرمز الافتراضي لاحقًا ، يسمى p :

 p <- visNetwork(nodes, edges) %>% visOptions(highlightNearest = list(enabled = TRUE, degree = 1, hover = T)) %>% visPhysics(stabilization = list(enabled = FALSE, iterations = 10), adaptiveTimestep = TRUE, barnesHut = list(avoidOverlap = 0.2, damping = 0.15, gravitationalConstant = -5000))

هنا ، نقوم بتخصيص عدد قليل من تكوينات تصور الشبكة في visOptions و visPhysics. لا تتردد في الاطلاع على صفحات التوثيق وتحديث هذه الخيارات حسب الرغبة. اكتمل الآن قسم Actual code ، ويجب علينا تحديث قسم Create and save widget المستخدم عن طريق إزالة السطر p = ggplotly(g); منذ أن قمنا بترميز متغير التصور الخاص بنا ، p .

الخطوة 3: تحضير التصور لـ Power BI

الآن وقد انتهينا من الترميز في R ، يجب علينا إجراء بعض التغييرات في ملفات JSON الداعمة لدينا لإعداد التصور لاستخدامه في Power BI.

لنبدأ بملف capabilities.json . يتضمن معظم المعلومات التي تراها في علامة تبويب المرئيات للحصول على عنصر مرئي ، مثل مصادر بيانات الملحق والإعدادات الأخرى. أولاً ، نحتاج إلى تحديث dataRoles البيانات واستبدال القيمة الحالية بأدوار بيانات جديدة num_records dataset وعدد السجلات:

 # ... "dataRoles": [ { "displayName": "dataset", "description": "Connection Details - From, To, # of Connections, Sentiment Color, To Node Type Color", "kind": "GroupingOrMeasure", "name": "dataset" }, { "displayName": "num_records", "description": "number of records to keep", "kind": "Measure", "name": "num_records" } ], # ...

في ملف capabilities.json json ، دعنا نقوم أيضًا بتحديث قسم dataViewMappings . سنضيف conditions يجب أن تلتزم بها scriptResult ، بالإضافة إلى تحديث نتيجة البرنامج النصي لمطابقة أدوار البيانات الجديدة وشروطها. راجع قسم conditions ، جنبًا إلى جنب مع قسم select ضمن scriptResult ، من أجل التغييرات:

 # ... "dataViewMappings": [ { "conditions": [ { "dataset": { "max": 20 }, "num_records": { "max": 1 } } ], "scriptResult": { "dataInput": { "table": { "rows": { "select": [ { "for": { "in": "dataset" } }, { "for": { "in": "num_records" } } ], "dataReductionAlgorithm": { "top": {} } } } }, # ...

دعنا ننتقل إلى ملف dependencies.json الخاص بنا. هنا ، سنضيف ثلاث حزم إضافية ضمن حزم cranPackages حتى يتمكن Power BI من تحديد المكتبات المطلوبة وتثبيتها:

 { "name": "data.table", "displayName": "data.table", "url": "https://cran.r-project.org/web/packages/data.table/index.html" }, { "name": "DiagrammeR", "displayName": "DiagrammeR", "url": "https://cran.r-project.org/web/packages/DiagrammeR/index.html" }, { "name": "visNetwork", "displayName": "visNetwork", "url": "https://cran.r-project.org/web/packages/visNetwork/index.html" },

ملاحظة: يجب أن يقوم Power BI بتثبيت هذه المكتبات تلقائيًا ، ولكن إذا واجهت أخطاء مكتبة ، فحاول تشغيل الأمر التالي:

 install.packages(c("DiagrammeR", "htmlwidgets", "visNetwork", "data.table", "xml2"))

أخيرًا ، دعنا نضيف المعلومات ذات الصلة لملفنا المرئي إلى ملف pbiviz.json . أوصي بتحديث الحقول التالية:

  • حقل الوصف المرئي
  • عنوان URL للدعم المرئي
  • عنوان URL المرئي لـ GitHub
  • اسم المؤلف
  • البريد الإلكتروني للمؤلف

الآن ، تم تحديث ملفاتنا ، ويجب علينا إعادة تجميع التصور من سطر الأوامر:

 pbiviz package

عند التنفيذ الناجح للتعليمات البرمجية ، يجب إنشاء ملف .pbiviz في دليل dist . يمكن الاطلاع على الكود الكامل المغطى في هذا البرنامج التعليمي على GitHub.

الخطوة 4: استيراد التصور إلى Power BI

لاستيراد المرئيات الجديدة في Power BI ، افتح تقرير Power BI الخاص بك (إما واحد للبيانات الموجودة أو آخر تم إنشاؤه أثناء خطوة المتطلبات المسبقة الخاصة بنا مع بيانات الاختبار) وانتقل إلى علامة التبويب المرئيات . انقر فوق الزر ... [المزيد من الخيارات] وحدد استيراد صورة مرئية من ملف . ملاحظة: قد تحتاج أولاً إلى تحديد تحرير في المستعرض حتى تكون علامة التبويب المرئيات مرئية.

يظهر جزء بعنوان "مرئيات" وسهمان ">" على يمينه. يوجد أدناه النص "إنشاء بصري" مع صورتين تحته: مستطيلان أصفر اللون وخط على اليسار ، وورقة وفرشاة على اليمين. تم تحديد صورة المستطيلات الصفراء وتوجد أسفلها لوحة تضم أكثر من 30 رمزًا مختلفًا للرسم البياني. الرمز الأخير هو علامة القطع ، التي تحتوي على نص تحوم "الحصول على المزيد من العناصر المرئية". أسفل لوحة الرموز ، يظهر النص "القيم" مع سطر من النص أدناه ونصه كما يلي: "أضف حقول البيانات هنا." أسفل ذلك ، النص "التنقل خلال" ، متبوعًا بـ "تقرير متقاطع" مع تحديد زر اختيار "إيقاف التشغيل" بجواره.

انتقل إلى دليل dist لمجلد التصور الخاص بك وحدد ملف .pbiviz لتحميل الصورة المرئية الخاصة بك بسلاسة في Power BI.

الخطوة 5: إنشاء التصور في Power BI

المرئيات التي قمت باستيرادها متاحة الآن في جزء المرئيات. انقر فوق رمز التصور لإضافته إلى تقريرك ، ثم أضف الأعمدة ذات الصلة إلى dataset ومدخلات num_records :

يظهر جزء برمز الأدوات المحدد الذي يحتوي على نص التمرير "toptalSocialNetworkByBharatGarg." أسفل الرمز ، يظهر النص "مجموعة البيانات" مع العديد من المستطيلات المنسدلة أسفله (من أعلى إلى أسفل): من المستخدم ، إلى المستخدم ، عدد الاتصالات ، اللون ، اللون ، اسم المستخدم ، اسم المستخدم ، الصورة الرمزية ، الصورة الرمزية.

يمكنك إضافة نصوص وعوامل تصفية وميزات إضافية إلى التصور الخاص بك بناءً على متطلبات مشروعك. أوصي أيضًا بالاطلاع على الوثائق التفصيلية لمكتبات R الثلاث التي استخدمناها لزيادة تحسين التصورات الخاصة بك ، نظرًا لأن مشروعنا المثال لا يمكن أن يغطي جميع حالات استخدام الوظائف المتاحة.

ترقية تحليل الشبكة الاجتماعية التالي الخاص بك

نتيجتنا النهائية هي شهادة على قوة وكفاءة R عندما يتعلق الأمر بإنشاء تصورات Power BI مخصصة. جرب تحليل الشبكة الاجتماعية باستخدام المرئيات المخصصة في R في مجموعة البيانات التالية ، واتخذ قرارات أكثر ذكاءً باستخدام رؤى بيانات شاملة.

تعرب مدونة Toptal Engineering عن امتنانها لـ Leandro Roser لمراجعة عينات التعليمات البرمجية المقدمة في هذه المقالة.

من أعلى إلى أسفل ، تظهر الكلمات "ذهبي" (ذهبي اللون) ، و "Microsoft" ، و "شريك" (كلاهما باللون الأسود) متبوعة بشعار Microsoft.
بصفتك شريكًا ذهبيًا لمايكروسوفت ، فإن Toptal هي شبكة النخبة الخاصة بك من خبراء Microsoft. كوِّن فرقًا عالية الأداء مع الخبراء الذين تحتاجهم - في أي مكان وعندما تحتاجهم بالضبط!