استخدام Power BI وتجميع Synapse SQL بلا خادم لتحليل بيانات قاعدة بيانات Azure Cosmos باستخدام ارتباط Synapse

ينطبق على: NoSQL MongoDB العفريت

في هذه المقالة، ستتعلم كيفية إنشاء قاعدة بيانات تجمع SQL بلا خادم وطرق عرض عبر Synapse Link لـ Azure Cosmos DB. ستقوم بالاستعلام عن حاويات Azure Cosmos DB ثم إنشاء نموذج باستخدام Power BI فوق طرق العرض هذه لتعكس هذا الاستعلام.

هام

النسخ المتطابق ل Azure Cosmos DB في Microsoft Fabric متاح الآن في المعاينة لواجهة برمجة تطبيقات NoSql. توفر هذه الميزة جميع إمكانيات Azure Synapse Link بأداء تحليلي أفضل، والقدرة على توحيد ملكية بياناتك باستخدام Fabric OneLake والوصول المفتوح إلى بياناتك بتنسيق Delta Parquet. إذا كنت تفكر في Azure Synapse Link، نوصي بتجربة النسخ المتطابق لتقييم ملاءمة مؤسستك بشكل عام. ابدأ مع النسخ المتطابق في Microsoft Fabric.

باستخدام Azure Synapse Link، يمكنك إنشاء لوحات معلومات في الوقت الفعلي تقريباً في Power BI لتحليل بيانات Azure Cosmos DB. لا يوجد أي تأثير على الأداء أو التكلفة لأعباء العمل الخاصة بالمعاملات، ولا يوجد تعقيد في إدارة خطوط أنابيب ETL. يمكنك استخدام وضع DirectQuery أو import.

إشعار

يمكنك إنشاء لوحات معلومات Power BI ببضع نقرات فقط باستخدام مدخل Microsoft Azure Cosmos DB. لمزيد من المعلومات، راجع تجربة Power BI المتكاملة في مدخل Microsoft Azure Cosmos DB للحسابات التي تم تمكين Synapse Link فيها. سيؤدي هذا تلقائيا إلى إنشاء طرق عرض T-SQL في تجمعات SQL بلا خادم Synapse على حاويات Azure Cosmos DB. يمكنك ببساطة تنزيل ملف .pbids الذي يتصل بعروض T-SQL هذه لبدء إنشاء لوحات معلومات BI الخاصة بك.

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

المتطلبات الأساسية

تأكد من إنشاء الموارد التالية قبل أن تبدأ:

إنشاء قاعدة بيانات وجهات النظر

من مساحة عمل Synapse، انتقل إلى علامة التبويب Develop، وحدد الرمز + وحدد لغة الاستعلامات المركبة Script.

إضافة برنامج نصي SQL إلى مساحة عمل Synapse Analytics

تأتي كل مساحة عمل مع نقطة نهاية SQL بلا خادم. بعد إنشاء برنامج نصي SQL، من شريط الأدوات في الجزء العلوي، اتصل بـ Built-in.

تمكين برنامج SQL النصي لاستخدام نقطة نهاية SQL بلا خادم في مساحة العمل

إنشاء طرق عرض في قواعد البيانات master أو default غير مستحسن أو مدعوم. قم بإنشاء قاعدة بيانات جديدة، باسم RetailCosmosDB، وعرض SQL عبر الحاويات الممكنة لـ Synapse Link. يوضح الأمر التالي كيفية إنشاء قاعدة بيانات:

-- Create database
Create database RetailCosmosDB

بعد ذلك، قم بإنشاء طرق عرض متعددة عبر حاويات Azure Cosmos DB المختلفة الممكنة ل Synapse Link. ستتيح لك طرق العرض استخدام T-SQL للانضمام إلى بيانات Azure Cosmos DB والاستعلام عنها الموجودة في حاويات مختلفة. تأكد من تحديد قاعدة بيانات RetailCosmosDB عند إنشاء طرق العرض.

توضح البرامج النصية التالية كيفية إنشاء طرق عرض على كل حاوية. للتبسيط، دعنا نستخدم ميزة الاستدلال التلقائي للمخطط لتجمع SQL بلا خادم عبر الحاويات التي تم تمكين Synapse Link:

عرض المبيعات:

-- Create view for RetailSales container
CREATE VIEW  RetailSales
AS  
SELECT  *
FROM OPENROWSET (
    'CosmosDB', N'account=<Your Azure Cosmos DB account name>;database=<Your Azure Cosmos DB database name>;region=<Your Azure Cosmos DB Region>;key=<Your Azure Cosmos DB key here>',RetailSales)
AS q1

تأكد من إدراج منطقة Azure Cosmos DB والمفتاح الأساسي في برنامج SQL النصي السابق. يجب أن تكون جميع الأحرف في اسم المنطقة بأحرف صغيرة دون مسافات. على عكس المعلمات الأخرى للأمر OPENROWSET، يجب تحديد معلمة اسم الحاوية دون علامات اقتباس حولها.

عرض ديموغرافيات المتجر:

-- Create view for StoreDemographics container
CREATE VIEW StoreDemographics
AS  
SELECT  *
FROM OPENROWSET (
    'CosmosDB', N'account=<Your Azure Cosmos DB account name>;database=<Your Azure Cosmos DB database name>;region=<Your Azure Cosmos DB Region>;key=<Your Azure Cosmos DB key here>', StoreDemographics)
AS q1

الآن قم بتشغيل برنامج SQL النصي عن طريق تحديد الأمر Run.

استعلام عن الآراء

الآن بعد أن تم إنشاء طريقتي العرض، دعنا نحدد الاستعلام للجمع بين هاتين الطريقتين على النحو التالي:

SELECT 
sum(p.[revenue]) as revenue
,p.[advertising]
,p.[storeId]
,p.[weekStarting]
,q.[largeHH]
 FROM [dbo].[RetailSales] as p
INNER JOIN [dbo].[StoreDemographics] as q ON q.[storeId] = p.[storeId]
GROUP BY p.[advertising], p.[storeId], p.[weekStarting], q.[largeHH]

حدد Run الذي يعطي الجدول التالي كنتيجة:

نتائج الاستعلام بعد الانضمام إلى عروض StoreDemographics ومبيعات البيع بالتجزئة

طرق عرض النموذج على الحاويات باستخدام Power BI

افتح بعد ذلك سطح مكتب Power BI واتصل بنقطة نهاية SQL بلا خادم باستخدام الخطوات التالية:

  1. افتح تطبيق Power BI Desktop. حدد Get data وحدد more.

  2. اختر Azure Synapse Analytics (SQL DW) من قائمة خيارات الاتصال.

  3. أدخل اسم نقطة نهاية SQL حيث توجد قاعدة البيانات. أدخل SynapseLinkBI-ondemand.sql.azuresynapse.net في حقل Server. في هذا المثال، SynapseLinkBI هو اسم مساحة العمل. استبدله إذا أعطيت اسماً مختلفاً لمساحة العمل الخاصة بك. حدد Direct Query لوضع اتصال البيانات ثم OK.

  4. حدد أسلوب المصادقة المفضل مثل معرف Microsoft Entra.

  5. حدد قاعدة بيانات RetailCosmosDB وعرض RetailSalesو StoreDemographics.

  6. حدد Load لتحميل طريقتي العرض في وضع الاستعلام المباشر.

  7. حدد Model لإنشاء علاقة بين طريقتي العرض من خلال عمود storeId.

  8. اسحب العمود StoreId من عرض RetailSales باتجاه العمود StoreId في عرض StoreDemographics.

  9. حدد علاقة كثير إلى واحد (*: 1) نظراً لوجود صفوف متعددة بنفس معرف المتجر في طريقة العرض RetailSales. يحتويStoreDemographics على صف معرف متجر واحد فقط (وهو جدول أبعاد).

انتقل الآن إلى نافذة report وأنشئ تقريراً لمقارنة الأهمية النسبية لحجم الأسرة بمتوسط الإيرادات لكل متجر بناءً على التمثيل المتناثر للإيرادات ومؤشر LargeHH:

  1. حدد Scatter chart.

  2. قم بسحب وإسقاط LargeHH من عرض StoreDemographics في المحور X.

  3. اسحب Revenue من عرض RetailSales وأفلتها في المحور ص. حدد Average للحصول على متوسط المبيعات لكل منتج لكل متجر وكل أسبوع.

  4. قم بسحب وإسقاط productCode من عرض RetailSales في وسيلة الإيضاح لتحديد خط منتج معين. بعد اختيار هذه الخيارات، سترى رسماً بيانيّاً مثل لقطة الشاشة التالية:

تقرير يقارن الأهمية النسبية لحجم الأسرة بمتوسط الإيرادات لكل متجر

الخطوات التالية

تجربة Power BI المدمجة في مدخل Microsoft Azure Cosmos DB للحسابات التي تم تمكين Synapse Link فيها

استخدم T-SQL للاستعلام عن بيانات Azure Cosmos DB باستخدام ارتباط Azure Synapse

استخدم تجمع SQL بلا خادم لتحليل مجموعات بيانات Azure المفتوحة وتصور النتائج في Azure Synapse Studio