M365Con 2027 – مؤتمر مجاني عبر الإنترنت · 11–22 Jan 2027 · 120 sessions→ m365con.net

المدونة · Mirko Peters

إتقان Query Folding في Power BI: ادفع المعالجة إلى مصدر بياناتك

By ·

عند العمل مع Power BI، قليلةٌ هي الأمور المحبطة بقدر مشاهدة تحديث بياناتك يستغرق وقتًا طويلًا، أو الأسوأ، مشاهدته يفشل كليًا لنفاد الموارد…

Automatically translated with AI from the original post. Read the English original

▶ BLOGMastering Query Foldingin Power BI: Push the…M365.FM
Titelbild: Mastering Query Folding in Power BI: Push the Work to Your Data Source

عند العمل مع Power BI، قليلةٌ هي الأمور المحبطة بقدر مشاهدة تحديث بياناتك يستغرق وقتًا طويلًا، أو الأسوأ، مشاهدته يفشل كليًا لنفاد الموارد. إذا كنت تسحب ملايين الصفوف من قاعدة بيانات SQL بعيدة، أو من مستودع بيانات مؤسسي، أو من خدمة سحابية، فإن طريقة التعامل مع التحويلات مهمة للغاية. فكل خطوة تنفذها في Power Query يمكن أن تُعالَج بكفاءة من قِبل الخادم القوي الذي يستضيف بياناتك، أو تُعالَج ببطء على جهازك المحلي أو في ذاكرة محرك خدمة Power BI. وهنا يأتي دور السحر الذي يقدمه Query Folding.

في هذا المقال، سنتعمق في Query Folding، ونستكشف كيف يُحسّن تحويلات البيانات، والتقنيات العملية لضمان طي خطواتك بشكل صحيح، والمزالق الشائعة التي تكسر سلسلة الطي، وكيف يمكنك تحسين كفاءة تحديث تقاريرك بشكل ملحوظ. فلنُعِد المعالجة إلى المكان الذي تنتمي إليه: مصدر البيانات.

مقدمة في Query Folding

في جوهره، Query Folding هو الآلية التي يترجم بها Power Query خطوات تحويل البيانات التي تبنيها في واجهة المستخدم إلى لغة استعلام أصلية، عادةً SQL، ثم يرسل هذا الاستعلام إلى قاعدة البيانات المصدر لتنفيذه. فبدلًا من تنزيل كل صف وجدول وعمود إلى ذاكرة Power BI ثم تصفيتها أو تجميعها أو ربطها محليًا، يطلب Power BI من قاعدة البيانات المصدر إنجاز العمل الثقيل.

فكّر في الأمر كأنك تطلب مشترياتك من البقالة. إذا ذهبت إلى مستودع ضخم، والتقطت كل صنف في المتجر، ونقلته إلى طاولة مطبخك، ثم رميت 90% منها لأنها منتهية الصلاحية أو ليست ما تحتاجه، فأنت تُهدر وقتًا وجهدًا هائلين. هذا ما يحدث دون Query Folding. أما مع تفعيله، فأنت تعطي أمين المستودع قائمة محددة: "أعطني فقط التفاح الذي يزيد وزنه على رطل، مجمّعًا حسب اللون." يقوم أمين المستودع بالفرز داخل المستودع، ويسلّمك صندوقًا صغيرًا يحتوي على ما طلبته فقط. يبقى مطبخك نظيفًا، وتنتهي من الطهي أسرع بكثير.

كيف يُحسّن Query Folding تحويلات البيانات

يُعدّ Query Folding حجر الزاوية في بنية Power BI القابلة للتوسع. فعند تنفيذه بالشكل الصحيح، يقلل نقل البيانات عبر الشبكات إلى الحد الأدنى، ويخفض بشكل كبير استهلاك الذاكرة أثناء مرحلة التحديث، ويسرّع سير عملك في التطوير.

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

على العكس من ذلك، إذا انكسر Query Folding، يُضطر Power BI إلى سحب مجموعة البيانات كاملة وغير المضغوطة وغير المصفاة عبر الشبكة إلى محرك تقييم Power Query (محرك mashup). وبمجرد وجود البيانات محليًا، يطبّق Power BI عوامل التصفية والتحويلات باستخدام معالج وذاكرة الجهاز المحلي. وبالنسبة لمجموعات البيانات المؤسسية الكبيرة، فإن هذا وصفة مضمونة لانتهاء مهلة البوابة، وأخطاء نفاد الذاكرة، وبطء تحديثات التقارير.

تقنيات عملية لضمان طي الخطوات بشكل صحيح

ليست جميع خطوات Power Query متساوية، وليست جميع مصادر البيانات تدعم Query Folding. فقواعد البيانات العلائقية مثل SQL Server وOracle وPostgreSQL تتمتع بقدرات طي قوية، بينما لا تُطوى الملفات المسطحة مثل ملفات CSV أو مصنفات Excel بالطريقة نفسها، لأنها تفتقر إلى معالج استعلام أصلي.

لضمان نجاح طي خطواتك، عليك تنظيم الخطوات المطبّقة وفق تسلسل محدد، والانتباه إلى الدوال التي تستخدمها. فيما يلي تقنيات عملية للحفاظ على طي استعلاماتك:

  • تصفية مبكرًا: طبّق دائمًا عوامل تصفية الصفوف (مثل الاحتفاظ بآخر ثلاث سنوات من البيانات، أو التصفية حسب الحالة النشطة) في أقرب نقطة ممكنة من بداية الخطوات المطبّقة. فكلما قلّصت مجموعة البيانات مبكرًا، كانت ترجمة SQL اللاحقة أكثر كفاءة.
  • إزالة الأعمدة غير الضرورية فوراً: إسقاط الأعمدة غير المستخدمة في مراحل مبكرة من العملية يمنع مصدر البيانات من هدر الموارد في تسلسل البيانات ونقلها دون حاجة إليها.
  • فهم التحويلات المدعومة: عمليات مثل إزالة الأعمدة وإعادة تسميتها، ودمج الجداول (ضمن شروط محددة)، والإلحاق، والأعمدة الشرطية البسيطة تُطوى عادةً بشكل جيد ضمن Query Folding. أما الصيغ المخصصة المعقدة، والمعالجات النصية التي تعتمد على البحث بالفهارس، والأعمدة المخصصة كثيفة البرمجة، فغالباً ما تكسر سلسلة Query Folding.
  • تحقق من خيار "عرض الاستعلام الأصلي": انقر بالزر الأيمن على أي خطوة مطبقة في محرر Power Query. إذا كان خيار "عرض الاستعلام الأصلي" مفعّلاً وقابلاً للنقر، فهذا يعني أن استعلامك يُطوى بنجاح حتى تلك الخطوة. أما إذا كان الخيار رمادياً، فقد انكسر Query Folding عند تلك الخطوة أو عند خطوة سابقة لها.

أخطاء شائعة تكسر Query Folding

من أصعب جوانب Query Folding أنه هش. فخطوة تحويل واحدة تبدو بريئة وموضوعة في الترتيب الخطأ قادرة على قطع سلسلة الطيّ بالكامل، فتُنفَّذ جميع الخطوات اللاحقة محلياً، حتى لو كانت قاعدة البيانات قادرة تماماً على معالجتها.

إليك أبرز الأخطاء الشائعة التي تكسر Query Folding:

  1. إدراج SQL أصلي ثم إجراء التحويلات: إذا كتبت استعلام SQL أصلياً في بداية خطوة مصدر البيانات، فإن Power Query يتعامل مع مجموعة النتائج كصندوق أسود. وعادةً لا تُطوى التحويلات اللاحقة التي تُضاف عبر واجهة Power Query، لأن Power Query لا يستطيع إدراج خطوات الواجهة بشكل موثوق داخل كتلة SQL مخصصة.
  2. تحويلات الأنواع في وقت مبكر جداً أو بترتيب خاطئ: تغيير أنواع البيانات ضروري، لكن تنفيذه قبل التصفية أو قبل العمليات التي تتعارض مع قواعد أنواع البيانات في قاعدة البيانات قد يكسر Query Folding. فعلى سبيل المثال، تحويل عمود رقمي إلى نص ثم محاولة تطبيق تصفية نطاق رقمي عليه قد يمنع قاعدة البيانات من تحسين الاستعلام.
  3. إضافة أعمدة فهرس أو استخدام أرقام الصفوف: الدوال التي تعتمد على موضع الصف، مثل "إضافة عمود فهرس"، أو العمليات التي تشير إلى الصفوف المجاورة بفهرس مطلق، تتطلب تحميل مجموعة البيانات كاملة في الذاكرة لتحديد المواضع. وهذا يوقف Query Folding فوراً.
  4. خلط مصادر البيانات: إذا دمجت جدولاً من قاعدة بيانات SQL مع جدول من ملف Excel، فإن Query Folding يتوقف عند الحد الفاصل الذي تتفاعل فيه المصدرين، لأن Excel لا يستطيع معالجة استعلامات SQL بشكل أصلي.

تحسين كفاءة التحديث في Power BI

عندما تتقن Query Folding، تمتد آثاره عبر بنية البيانات بأكملها. فأوقات تحديث التقارير التي كانت تستغرق ساعات يمكن أن تنخفض إلى دقائق، بل إلى ثوانٍ. هذه الكفاءة لا توفر موارد الحوسبة على بوابات البيانات أو الخوادم السحابية فحسب، بل تمكّن المطورين أيضاً من التكرار والتحسين بسرعة أكبر.

ولتحقيق أقصى كفاءة في التحديث، اجمع Query Folding مع أفضل ممارسات النمذجة الأساسية الأخرى. فعلى سبيل المثال، تأكد من أن جداول قاعدة البيانات تستخدم فهرسة مناسبة للأعمدة التي تُصفّى أو تُربط بها بشكل متكرر. فإذا كانت جداول SQL تفتقر إلى الفهارس، فحتى الاستعلام المطوي سيجبر محرك قاعدة البيانات على إجراء عمليات مسح كاملة للجداول وهي مكلفة. كذلك، ادمج Query Folding مع مخطط نجمة (Star Schema) نظيف، وأزل الأعمدة المكررة، وطبّق نهج التحديث التزايدي (Incremental Refresh) للمجموعات التاريخية الضخمة.

مراقبة استعلامات Power BI واستكشاف أخطائها

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

علاوة على ذلك، راقب سجلات بوابة البيانات ومحللات قواعد البيانات (مثل SQL Server Profiler أو Extended Events) لرصد الاستعلامات الدقيقة المرسلة من Power BI إلى مصدر البيانات. فإذا رأيت عبارات SELECT ضخمة تسحب جداول خام غير مصفّاة بدلاً من استعلامات مستهدفة تتضمن بنود WHERE وGROUP BY، فستعرف فوراً أن Query Folding قد فشل في مكان ما ضمن الخطوات المطبقة.

للاطلاع بشكل شامل على ترتيب التنفيذ، والمزالق التشغيلية، وسير العمل المتقدم لتحسين الأداء، تأكد من الاستماع إلى الحلقة البودكاست ذات الصلة وقراءة الملاحظات حول Power Query Folding and Execution Order in Power BI. فهم ترتيب العمليات الأساسي سيمنحك الثقة لبناء نماذج قوية وسريعة للغاية في كل مرة.

الخاتمة

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

لمزيد من التوسع في هذه المفاهيم والاستماع إلى شرح تفصيلي لكيفية تأثير ترتيب تنفيذ الاستعلامات على أداء مساحة العمل، استمع إلى الحلقة الكاملة من البودكاست Power Query Folding and Execution Order in Power BI. طبّق هذه الاستراتيجيات اليوم، وشاهد أداء تقاريرك يتحسن بشكل ملحوظ!

Entities in this article

Query folding Power BI Power Query Power BI Service Semantic model Microsoft Excel Azure Functions Connector Energy Microsoft To Do

Related articles

RSS