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

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


في "خطة الاستعلام المنطقية" ، يُرجع السطر الأول النتيجة في شكل جدول. يقوم الخطان الثاني والثالث في جدول المنتجات بفحص اللون والعلامة التجارية ، على التوالي.

بمجرد تلقي البيانات ، تتكرر Formula Engine فوق الجدول وتنتج مزيجًا من كلا العمودين. يتوافق تطبيق CrossApply في السطر 2 مع وظيفة CROSSJOIN.

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

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

لا يمكن حل وظيفة CROSSJOIN إلا بواسطة Formula Engine . لا يعمل الكود لأنه يأتي بين عامل التصفية والقيم وظائف لا يمكن حلها إلا بواسطة محرك التخزين . وبالتالي ، تسبب CROSSJOIN في انقطاع الحلقة بين هاتين الوظيفتين.

لذلك ، تحتاج إلى وضع الدالة FILTER داخل وسيطة CROSSJOIN حتى يعمل عامل التصفية.

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

في خطة الاستعلام المنطقية ، يمكنك أن ترى أنه بدلاً من عامل التصفية ، يتم استخدام عامل التصفية VertiPaq .

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


عند استخدام تركيبة FILTER - IN ، يتعين على محرك DAX إجراء مرشح IsEmpty الذي يؤكد ما إذا كان لون المنتج أحمر أو أسود.
أضف عمود إجمالي المبيعات في نتيجة CROSSJOIN DAX
يمكن أيضًا استخدام وظائف أخرى مع CROSSJOIN.
يمكنك استخدام الدالة لإضافة عمود آخر في الجدول ثم كتابة وسيطة المعلومات التي تريد إظهارها.
في هذا المثال ، دعنا نضيف عمود إجمالي المبيعات.

عند تشغيل التعليمات البرمجية ، ستظل النتائج ترجع 176 صفاً. ومع ذلك ، سيكون لبعض المجموعات قيم فارغة في عمود إجمالي المبيعات. هذا لأن هذه المجموعات ليس لها صف مقابل في جدول المبيعات.

في علامة التبويب توقيتات الخادم ، يحدد الرمز أولاً العلامة التجارية واللون. ثم يلخص منتج الكمية وسعر المبيعات الصافي.

في هذه الحالة ، يسترد محرك DAX أولاً جميع مجموعات العلامة التجارية والألوان الموجودة داخل جدول المنتجات ، جنبًا إلى جنب مع تلك التي تحتوي على صف مقابل في جدول المبيعات. ثم يقوم باسترداد العلامة التجارية وأعمدة الألوان بشكل منفصل.
في "خطة الاستعلام الفعلية" ، يمكنك مشاهدة اثنين من ذاكرة التخزين المؤقت للبيانات ؛ واحد للعلامة التجارية والآخر للون. عندما تضرب إجمالي سجلاتهم ، تحصل على 176 صفاً.

بعد ذلك ، يتم إجراء بحث على تلك الصفوف الـ 176 لمعرفة ما إذا كانت لها قيمة مقابلة في جدول المبيعات. يمكنك أن ترى أن 111 صفًا فقط لها قيم. ستُرجع الصفوف الـ 65 الأخرى الفراغات.
علاوة على ذلك ، إذا أضفت المزيد من الأعمدة في وسيطة CROSSJOIN ، فستُرجع النتيجة أيضًا الم��يد من الصفوف.

خاتمة
تنشئ الدالة DAX CROSSJOIN جدولًا جديدًا عن طريق دمج صفوف من جدول مع صفوف من جدول آخر. تشبه هذه الوظيفة جملة CROSS JOIN في SQL ويمكن استخدامها لإنشاء استعلامات أكثر تعقيدًا في نموذج البيانات الخاص بك.
يمكنه إنشاء قائمة بجميع مجموعات القيم الممكنة من جدولين أو أكثر. يمكن استخدامه أيضًا لإنشاء جدول جديد بسرعة مع عدد كبير من الصفوف ، والتي يمكن أن تكون مفيدة لتحليل البيانات أو الاختبار أو قياس الأداء.
بشكل عام ، تعد وظيفة CROSSJOIN أداة مفيدة في السيناريوهات حيث تحتاج إلى دمج البيانات من جداول متعددة أو إنشاء قائمة بجميع التركيبات الممكنة.
أتمنى لك كل خير،
تعرف على تقنية تصور LuckyTemplates هذه حتى تتمكن من إنشاء قوالب الخلفية واستيرادها إلى تقارير LuckyTemplates الخاصة بك.
ما هي الذات في بايثون: أمثلة من العالم الحقيقي
ستتعلم كيفية حفظ وتحميل الكائنات من ملف .rds في R. ستغطي هذه المدونة أيضًا كيفية استيراد الكائنات من R إلى LuckyTemplates.
في هذا البرنامج التعليمي للغة ترميز DAX ، تعرف على كيفية استخدام وظيفة الإنشاء وكيفية تغيير عنوان القياس ديناميكيًا.
سيغطي هذا البرنامج التعليمي كيفية استخدام تقنية Multi Threaded Dynamic Visuals لإنشاء رؤى من تصورات البيانات الديناميكية في تقاريرك.
في هذه المقالة ، سأقوم بتشغيل سياق عامل التصفية. يعد سياق عامل التصفية أحد الموضوعات الرئيسية التي يجب على أي مستخدم LuckyTemplates التعرف عليها في البداية.
أريد أن أوضح كيف يمكن لخدمة تطبيقات LuckyTemplates عبر الإنترنت أن تساعد في إدارة التقارير والرؤى المختلفة التي تم إنشاؤها من مصادر مختلفة.
تعرف على كيفية إجراء تغييرات في هامش الربح باستخدام تقنيات مثل قياس التفرع والجمع بين صيغ DAX في LuckyTemplates.
سيناقش هذا البرنامج التعليمي أفكار تجسيد مخازن البيانات وكيفية تأثيرها على أداء DAX في توفير النتائج.
إذا كنت لا تزال تستخدم Excel حتى الآن ، فهذا هو أفضل وقت لبدء استخدام LuckyTemplates لاحتياجات إعداد تقارير الأعمال الخاصة بك.