دالة UNION DAX مقابل استعلام الطاقة

دالة UNION DAX مقابل استعلام الطاقة

في هذا البرنامج التعليمي ، ستتعلم أسلوب تحسين DAX باستخدام وظيفة UNION. سيقارن هذا البرنامج التعليمي أداء وظيفة UNION مقابل Power Query والأساليب الأخرى لدمج الجداول.

تجمع الدالة بين جدولين في جدول واحد عن طريق الجمع بين صفوفهم وإزالة أي صفوف مكررة.

المثال في هذا البرنامج التعليمي هو جدول المبيعات الذي تم تقسيمه إلى ثلاثة جداول لكل عام (2007 ، 2008 ، 2009).

جدول المحتويات

وظيفة الاتحاد في DAX

افتح DAX Studio وابدأ توقيتات الخادم وخطة الاستعلام.

دالة UNION DAX مقابل استعلام الطاقة

يتم استخدام رمز DAX أدناه كمثال:

دالة UNION DAX مقابل استعلام الطاقة

بعد تشغيل الرمز ، انتقل إلى علامة التبويب توقيتات الخادم . يمكنك أن ترى أن تنفيذ الكود يستغرق 5.4 ثانية. تم قضاء معظم وقت التنفيذ في محرك التخزين . يحتوي كل من هذه الاستعلامات الثلاثة على نفس العملية ، لكن السنوات مختلفة.

دالة UNION DAX مقابل استعلام الطاقة

بعد أن يتم إرجاع هذه الاستعلامات الثلاثة بواسطة Storage Engine ، يقوم Formula Engine بتنفيذ UNION ، والتي يمكن رؤيتها في خطة الاستعلام المنطقي. تنفذ خطة الاستعلام أيضًا لحساب إجمالي المبيعات.

دالة UNION DAX مقابل استعلام الطاقة

في خطة الاستعلام المادي ، يمكنك رؤية مخابئ البيانات الثلاثة التي تحتوي على العمليات التي يتم إجراؤها لكل عام في جدول المبيعات.

دالة UNION DAX مقابل استعلام الطاقة

مقارنة أداء DAX

لبناء المقارنة ، دعنا ننشئ مقياسًا لإجمالي المبيعات باستخدام جدول المبيعات الأصلي.

دالة UNION DAX مقابل استعلام الطاقة

إذا قمت بتشغيل هذا الرمز وانتقلت إلى علامة التبويب توقيتات الخادم ، يمكنك أن ترى أن هذا أكثر كفاءة بكثير من وظيفة الاتحاد.

تستهلك وظيفة UNION 97.9 كيلو بايت بينما يستهلك المقياس الجديد 1 كيلو بايت فقط.

دالة UNION DAX مقابل استعلام الطاقة

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

لذلك إذا كنت تتعامل مع نموذج بيانات يحتوي على أكثر من مليون صف ، فلا يوصى باستخدام وظيفة UNION

بدائل وظيفة UNION DAX

بدلاً من استخدام UNION ، يمكنك استخدام ثلاث وظائف SUMX لهذا المثال. أي ، دالة SUMX واحدة لكل سنة.

دالة UNION DAX مقابل استعلام الطاقة

عند تشغيل هذا الرمز والانتقال إلى علامة التبويب توقيتات الخادم ، يمكنك أن ترى أن وقت التنفيذ أقل بكثير. انتقل من 5400 مللي ثانية إلى 33 مللي ثانية مع استمرار تنفيذ ثلاثة استعلامات مختلفة.

دالة UNION DAX مقابل استعلام الطاقة

هناك طريقة أخرى وهي إلحاق جدول نموذج البيانات في Power Query أو في مصدر البيانات نفسه.

لكن الخيار الأفضل هو إنشاء جدول محسوب يؤدي إلى توحيد هذه الجداول الثلاثة. لكن هذا الخيار له إيجابياته وسلبياته.

يسمح لك استخدام جدول محسوب بحفظ وقت المعالجة الإجمالي بدلاً من إجراء إلحاق في Power Query. ومع ذلك ، سيؤدي هذا إلى زيادة حجم قاعدة البيانات في VertiPaq.

عند استخدام جدول محسوب ، فأنت تقوم بإنشاء جدول جديد يضم الجداول الثلاثة. لكن هذه الجداول المنقسمة الثلاثة ستستمر في البقاء في قاعدة البيانات.

دالة UNION DAX مقابل استعلام الطاقة

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

بالنسبة للحالات الحساسة مثل هذه ، تحتاج إلى اتخاذ قرار مستنير بشأن أفضل مسار للعمل يمكن اتخاذه.

خاتمة

تجمع الدالة UNION في DAX بين جدولين في جدول واحد ، مما يسهل تحليل البيانات. إنه يعمل عن طريق أخذ جدولين كمدخلات وإرجاع جدول جديد يحتوي على جميع الصفوف من كلا جدولي الإدخال. ومع ذلك ، فإن هذه الوظيفة لها حدودها الخاصة.

يمكن أن تكون وظيفة UNION أبطأ من الطرق الأخرى لدمج البيانات ، خاصةً إذا كانت جداول الإدخال كبيرة. يمكن أن تستهلك أيضًا مساحة أكبر في التخزين بدلاً من البدائل الأخرى.

عندما يتطلب الموقف دمج الجداول ، من المهم أولاً موازنة الإيجابيات والسلبيات قبل اتخاذ قرار باستخدام وظيفة الاتحاد. تتضمن البدائل الخاصة بك دالة SUMX أو جدول نموذج بيانات أو جدول محسوب.

أتمنى لك كل خير،


ما هي الذات في بايثون: أمثلة من العالم الحقيقي

ما هي الذات في بايثون: أمثلة من العالم الحقيقي

ما هي الذات في بايثون: أمثلة من العالم الحقيقي

كيفية حفظ وتحميل ملف RDS في R.

كيفية حفظ وتحميل ملف RDS في R.

ستتعلم كيفية حفظ وتحميل الكائنات من ملف .rds في R. ستغطي هذه المدونة أيضًا كيفية استيراد الكائنات من R إلى LuckyTemplates.

تمت إعادة النظر في أول N أيام عمل - حل لغة ترميز DAX

تمت إعادة النظر في أول N أيام عمل - حل لغة ترميز DAX

في هذا البرنامج التعليمي للغة ترميز DAX ، تعرف على كيفية استخدام وظيفة الإنشاء وكيفية تغيير عنوان القياس ديناميكيًا.

اعرض الرؤى باستخدام تقنية المرئيات الديناميكية المتعددة الخيوط في LuckyTemplates

اعرض الرؤى باستخدام تقنية المرئيات الديناميكية المتعددة الخيوط في LuckyTemplates

سيغطي هذا البرنامج التعليمي كيفية استخدام تقنية Multi Threaded Dynamic Visuals لإنشاء رؤى من تصورات البيانات الديناميكية في تقاريرك.

مقدمة لتصفية السياق في LuckyTemplates

مقدمة لتصفية السياق في LuckyTemplates

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

أفضل النصائح في استخدام التطبيقات في خدمة LuckyTemplates عبر الإنترنت

أفضل النصائح في استخدام التطبيقات في خدمة LuckyTemplates عبر الإنترنت

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

تحليل تغييرات هامش الربح بمرور الوقت - التحليلات باستخدام LuckyTemplates و DAX

تحليل تغييرات هامش الربح بمرور الوقت - التحليلات باستخدام LuckyTemplates و DAX

تعرف على كيفية إجراء تغييرات في هامش الربح باستخدام تقنيات مثل قياس التفرع والجمع بين صيغ DAX في LuckyTemplates.

أفكار التجسيد لذاكرة التخزين المؤقت للبيانات في DAX Studio

أفكار التجسيد لذاكرة التخزين المؤقت للبيانات في DAX Studio

سيناقش هذا البرنامج التعليمي أفكار تجسيد مخازن البيانات وكيفية تأثيرها على أداء DAX ​​في توفير النتائج.

إعداد تقارير الأعمال باستخدام LuckyTemplates

إعداد تقارير الأعمال باستخدام LuckyTemplates

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

ما هي بوابة LuckyTemplates؟ كل شيئ ترغب بمعرفته

ما هي بوابة LuckyTemplates؟ كل شيئ ترغب بمعرفته

ما هي بوابة LuckyTemplates؟ كل شيئ ترغب بمعرفته