تحسين نماذج DirectQuery باستخدام تخزين على مستوى الجدول
DirectQuery هي إحدى طرق نقل البيانات إلى Power BI Desktop. تتضمن طريقة DirectQuery الاتصال مباشرة بالبيانات الموجودة في مستودع المصدر من داخل Power BI Desktop. إنه بديل لاستيراد البيانات إلى Power BI Desktop.
عند استخدام أسلوب DirectQuery، تعتمد تجربة المستخدم الإجمالية بشكل كبير على أداء مصدر البيانات الأساسي. تؤدي أوقات الاستجابة البطيئة للاستعلام إلى تجربة مستخدم سلبية، وفي أسوأ السيناريوهات، قد تنتهي مهلة الاستعلامات. أيضًا، سيؤثر عدد المستخدمين الذين يفتحون التقارير في أي وقت على الحمل الذي يتم وضعه على مصدر البيانات. على سبيل المثال، إذا كان تقريرك يحتوي على 20 عنصر تحكم فيه وكان 10 أشخاص يستخدمون التقرير، فسيكون هناك 200 استعلام أو أكثر في مصدر البيانات لأن كل مرئي عنصر تحكم سيصدر استعلامًا واحدًا أو أكثر.
لسوء الحظ، لن يتأثر أداء نموذج Power BI فقط بأداء مصدر البيانات الأساسي، بل سيتأثر أيضًا بعوامل أخرى لا يمكن السيطرة عليها، مثل:
زمن الانتقال إلى الشبكة؛ حيث ترجع الشبكات الأسرع البيانات بشكل أسرع.
أداء خادم مصدر البيانات وعدد أحمال العمل الأخرى الموجودة على هذا الخادم. على سبيل المثال، ضع في اعتبارك الآثار المترتبة على تحديث الخادم في أثناء استخدام مئات الأشخاص للخادم نفسه لأسباب مختلفة.
لذلك، فإن استخدام DirectQuery يشكل خطرًا على جودة أداء النموذج. لتحسين الأداء في هذه الحالة، تحتاج إلى التحكم في قاعدة البيانات المصدر أو الوصول إليها.
لمزيد من المعلومات التفصيلية، راجع إرشادات النموذج DirectQuery model guidance in Power BI Desktop.
الآثار المترتبة على استخدام DirectQuery
من أفضل استيراد البيانات إلى Power BI Desktop، ولكن قد تحتاج مؤسستك إلى استخدام وضع اتصال بيانات DirectQuery بسبب أحد الأسباب التالية (مزايا DirectQuery):
إنه مناسب في الحالات التي تتغير فيها البيانات بشكل متكرر ويكون الإبلاغ القريب من الوقت الحقيقي مطلوبًا.
يمكنه التعامل مع البيانات الكبيرة دون الحاجة إلى التجميع المسبق.
يطبق قيود سيادة البيانات للامتثال للمتطلبات القانونية.
يمكن استخدامه مع مصدر بيانات متعدد الأبعاد يحتوي على مقاييس، مثل SAP Business Warehouse (BW).
إذا كانت مؤسستك بحاجة إلى استخدام DirectQuery، فإنه يجب أن تفهم سلوكها بوضوح داخل Power BI Desktop وأن تكون على دراية بحدودها. ستكون بعد ذلك في وضع جيد لاتخاذ إجراء لتحسين نموذج DirectQuery قدر الإمكان.
سلوك اتصالات DirectQuery
عند استخدام DirectQuery للاتصال بالبيانات في Power BI Desktop، يعمل هذا الاتصال بالطريقة التالية:
عند استخدام ميزة Get Data في Power BI Desktop مبدئيًا، ستحدد المصدر. إذا قمت بالاتصال بمصدر علائقي، فإنه يمكنك تحديد مجموعة من الجداول وسيحدد كل منها استعلامًا يُرجع منطقيًا مجموعة من البيانات. إذا قمت بتحديد مصدر متعدد الأبعاد، مثل SAP BW، فإنه لا يمكنك إلا تحديد المصدر.
عند تحميل البيانات، لا يتم استيراد أي بيانات إلى Power BI Desktop، ولا يتم تحميل إلا المخطط. عند إنشاء عنصر تحكم داخل Power BI Desktop، يتم إرسال الاستعلامات إلى المصدر الأساسي لاسترداد البيانات الضرورية. يعتمد الوقت المستغرق لتحديث عنصر التحكم على أداء مصدر البيانات الأساسي.
إذا تم إجراء تغييرات على البيانات الأساسية، فلن تنعكس على الفور في عناصر التحكم الموجودة في Power BI بسبب التخزين المؤقت. تحتاج إلى إجراء تحديث لرؤية هذه التغييرات. تتوفر الاستعلامات الضرورية لكل عنصر تحكم، ويتم تحديث عناصر تحكم وفقًا لذلك.
عند نشر التقرير إلى خدمة Power BI، ستنتج عنه مجموعة بيانات في خدمة Power BI، كما هو الحال بالنسبة إلى الاستيراد. ومع ذلك، لا توجد بيانات مضمنة في مجموعة البيانات هذه.
عند فتح تقرير موجود في خدمة Power BI، أو إنشاء تقرير جديد، يتم الاستعلام مرة أخرى عن المصدر الأساسي لاسترداد البيانات الضرورية. قد تضطر إلى تكوين بوابة بيانات داخلية اعتمادًا على موقع المصدر الأصلي.
يمكنك تثبيت عناصر التحكم، أو صفحات التقرير بأكملها، مثل مربعات لوحة المعلومات. يتم تحديث المربعات تلقائيًا وفقًا لجدول زمني، على سبيل المثال، كل ساعة. يمكنك التحكم في معدل تكرار هذا التحديث لتلبية متطلباتك. عند فتح لوحة معلومات، تعكس المربعات البيانات في وقت التحديث الأخير وقد لا تتضمن أحدث التغييرات التي تم إجراؤها على مصدر البيانات الأساسي. يمكنك دائمًا تحديث لوحة معلومات مفتوحة للتأكد من أنها محدثة.'
قيود اتصالات DirectQuery
يمكن أن تكون لاستخدام DirectQuery آثار سلبية. تختلف القيود، اعتمادًا على مصدر البيانات المحدد الذي يتم استخدامه. يجب أن تأخذ في الاعتبار النقاط التالية:
الأداء - كما تمت مناقشته سابقًا، تعتمد تجربة المستخدم الإجمالية بشكل كبير على أداء مصدر البيانات الأساسي.
الأمان - إذا كنت تستخدم مصادر بيانات متعددة في نموذج DirectQuery، فمن المهم فهم كيفية انتقال البيانات بين مصادر البيانات الأساسية والآثار الأمنية المرتبطة بها. يجب عليك أيضًا تحديد ما إذا كانت قواعد الأمان قابلة للتطبيق على البيانات الموجودة في المصدر الأساسي، لأنه في Power BI، يمكن لكل مستخدم رؤية تلك البيانات.
تحويل البيانات - مقارنة بالبيانات المستوردة، فإن البيانات التي يتم الحصول عليها من DirectQuery لها قيود عندما يتعلق الأمر بتطبيق تقنيات تحويل البيانات في Power Query Editor. على سبيل المثال، إذا قمت بالاتصال بمصدر معالجة تحليلية عبر إنترنت، مثل SAP BW، فلا يمكنك إجراء أي تحويلات على الإطلاق؛ ويؤخذ النموذج الخارجي بأكمله من مصدر البيانات. إذا كنت تريد إجراء أي تحويلات على البيانات، فستحتاج إلى القيام بذلك في مصدر البيانات الأساسي.
النمذجة - لا تكون بعض إمكانات النمذجة التي تمتلكها مع البيانات المستوردة متوفرة أو تكون محدودة، عند استخدام DirectQuery.
إعداد التقارير - يتم دعم جميع إمكانيات إعداد التقارير لديك مع البيانات المستوردة تقريبًا لنماذج DirectQuery، بشرط أن يوفر المصدر الأساسي مستوى مناسبًا من الأداء. ومع ذلك، عندما يتم نشر التقرير في خدمة Power BI، فإن الميزتين Quick Insights وQ&A غير مدعومتين. من المحتمل أيضًا أن يؤدي استخدام ميزة الاستكشاف «Explore » في Excel إلى أداء ضعيف.
للحصول على معلومات أكثر تفصيلاً حول قيود استخدام DirectQuery، راجع Implications of using DirectQuery «الآثار المترتبة على استخدام DirectQuery».
والآن بعد أن أصبح لديك فهم موجز لكيفية عمل DirectQuery والقيود التي تفرضها، يمكنك اتخاذ إجراء لتحسين الأداء.
تحسين الأداء
بالاستمرار في سيناريو Tailwind Traders، في أثناء مراجعة نموذج البيانات، تكتشف أن الاستعلام استخدم DirectQuery لتوصيل Power BI Desktop بالبيانات المصدر. هذا الاستخدام لـ DirectQuery هو السبب في أن المستخدمين يواجهون أداءً ضعيفًا للتقرير. يستغرق تحميل الصفحات في التقرير وقتًا طويلاً، ولا يتم تحديث الجداول بالسرعة الكافية عند إجراء تحديدات معينة. تحتاج إلى اتخاذ إجراءات لتحسين أداء نموذج DirectQuery.
يمكنك فحص الاستعلامات التي يتم إرسالها إلى المصدر الأساسي ومحاولة تحديد سبب ضعف أداء الاستعلام. يمكنك بعد ذلك إجراء تغييرات في Power BI Desktop ومصدر البيانات الأساسي لتحسين الأداء العام.
تحسين البيانات في Power BI Desktop
عندما تقوم بتحسين مصدر البيانات قدر الإمكان، يمكنك اتخاذ مزيد من الإجراءات داخل Power BI Desktop باستخدام محلل الأداء Performance analyzer، حيث يمكنك عزل الاستعلامات للتحقق من صحة خطط الاستعلام.
يمكنك تحليل مدة الاستعلامات التي يتم إرسالها إلى المصدر الأساسي لتحديد الاستعلامات التي تستغرق وقتًا طويلاً للتحميل. بمعنى آخر، يمكنك تحديد مكان وجود الازدحام.
لا تحتاج إلى استخدام نهج خاص عند تحسين نموذج DirectQuery؛ يمكنك تطبيق تقنيات التحسين نفسها التي استخدمتها على البيانات المستوردة لضبط البيانات من مصدر DirectQuery. على سبيل المثال، يمكنك تقليل عدد عناصر التحكم على صفحة التقرير أو تقليل عدد الحقول المستخدمة في عناصر التحكم. يمكنك أيضًا إزالة الأعمدة والصفوف غير الضرورية.
للحصول على إرشادات أكثر تفصيلًا حول كيفية تحسين استعلام DirectQuery، راجع: إرشادات نموذج DirectQuery في Power BI Desktop وإرشادات استخدام DirectQuery بنجاح.
تحسين مصدر البيانات الأساسي (قاعدة بيانات متصلة)
أول محطة هي مصدر البيانات. تحتاج إلى ضبط قاعدة البيانات المصدر قدر الإمكان لأن أي شيء تفعله لتحسين أداء قاعدة البيانات المصدر سيؤدي بدوره إلى تحسين Power BI DirectQuery. الإجراءات التي تتخذها في قاعدة البيانات ستعود بأكبر فائدة.
ضع في اعتبارك استخدام ممارسات قواعد البيانات القياسية التالية التي تنطبق على معظم المواقف:
تجنب استخدام الأعمدة المحسوبة المعقدة لأنه سيتم تضمين تعبير الحساب في استعلامات المصدر. من الأفضل دفع التعبير إلى المصدر لأنه يتجنب الدفع لأسفل. يمكنك أيضًا التفكير في إضافة أعمدة مفاتيح بديلة إلى جداول نوع الأبعاد.
راجع الفهارس وتحقق من صحة الفهرسة الحالية. إذا كنت بحاجة إلى إنشاء فهارس جديدة، فتأكد من أنها مناسبة.
ارجع إلى وثائق التوجيه الخاصة بمصدر البيانات وقم بتنفيذ توصيات الأداء.
تخصيص خيارات تقليل الاستعلام
يمنحك Power BI Desktop خيار إرسال استعلامات أقل وتعطيل تفاعلات معينة قد تؤدي إلى تجربة سيئة إذا استغرقت الاستعلامات الناتجة وقتًا طويلاً للتشغيل. يؤدي تطبيق هذه الخيارات إلى منع الاستعلامات من الوصول باستمرار إلى مصدر البيانات، ما يؤدي إلى تحسين الأداء.
في هذا المثال، تقوم بتحرير الإعدادات الافتراضية لتطبيق خيارات تقليل البيانات المتاحة على النموذج. يمكنك الوصول إلى الإعدادات عن طريق تحديد خيارات File > Options and settings > ، والتمرير لأسفل الصفحة، ثم تحديد خيار Query reduction.
تتوفر خيارات تقليل الاستعلام التالية:
تقليل عدد الاستعلامات المرسلة - افتراضيًا، يتفاعل كل عنصر تحكم مع كل عنصر تحكم آخر. يؤدي تحديد خانة الاختيار هذه إلى تعطيل هذا التفاعل الافتراضي. يمكنك اختيار أي عناصر تحكم تتفاعل مع بعضها اختياريًا باستخدام ميزة Edit interactions.
مقسمات طرق العرض - بشكل افتراضي، يتم تحديد خيار Instantly apply slicer changes «تطبيق تغييرات مقسم طريقة العرض على الفور». لإجبار مستخدمي التقرير على تطبيق تغييرات مقسم طريقة العرض يدويًا، حدد خيار Add an apply button to each slicer to apply changes when you're ready «إضافة زر تطبيق لكل شريحة لتطبيق التغييرات عندما تكون جاهزًا».
عوامل التصفية - بشكل افتراضي، يتم تحديد خيار Instantly apply basic filter changes «تطبيق تغييرات المرشح الأساسية على الفور». لإجبار مستخدمي التقرير على تطبيق تغييرات التصفية يدويًا، حدد أحد الخيارات البديلة:
إضافة أزرار تطبيق إلى كل عوامل التصفية الأساسية لتطبيق التغييرات عندما تكون مستعدًا
إضافة زر تطبيق واحد إلى جزء عامل التصفية لتطبيق التغييرات مرة واحدة (تجربة)

