ما هي الذات في بايثون: أمثلة من العالم الحقيقي
ما هي الذات في بايثون: أمثلة من العالم الحقيقي
دعنا نلقي نظرة أخرى على المشكلة التي تمت مناقشتها في هذا البرنامج التعليمي ، والتي قارنت ديناميكيًا أول N أيام عمل من كل شهر. استندت هذه المشكلة إلى استعلام من أحد أعضاء LuckyTemplates في منتدانا ، حيث أراد أن يبحث ويقارن بشكل ديناميكي أول 5 و 10 و 15 و 20 يومًا قابلة للفوترة (غير أيام عطلة نهاية الأسبوع وغير أيام العطلات) لشهر معين مقابل الشهر السابق.
بدلاً من استخدام استعلام الطاقة ، سنأتي بحل لغة ترميز DAX. يمكنك مشاهدة الفيديو الكامل لهذا البرنامج التعليمي أسفل هذه المدونة.
في الفيديو الأول ، توصلت إلى حل استعلام طاقة حول كيفية حل هذه المشكلة. ولكن بعد ذلك ، توصل أحد خبراء LuckyTemplates ، أنتريكش شارما ، إلى إجراء فعال ببراعة يستحق أيضًا التعمق فيه. سنناقش بعض الأساليب التي استخدمها في تطوير مقياس ما ، والذي سيوفر لك أدوات إضافية في مربع أدوات DAX الخاص بك.
لقد فعلت ذلك بالتأكيد بالنسبة لي وبعض الخبراء الآخرين الذين ألقوا نظرة على هذا. تعتبر المقارنة بين أيام العمل المماثلة عبر الأشهر نمطًا قيمًا بشكل عام يمكن استخدامه في العديد من المواقف.
دعنا نتعمق في استعلام القوة ونلقي نظرة على ما فعله Antriksh هنا. لدينا الشهر والسنة وإجمالي المبيعات وأخيرًا إجمالي المبيعات لـ N من أيام العمل التي اخترناها باستخدام استعلام الطاقة استنادًا إلى معلمة what-if التي قمنا بتطويرها .
اتخذ Antriksh نهجًا مختلفًا تمامًا ، حيث استخدم مقياسًا قصيرًا بشكل صادم لحل هذه المشكلة برمتها. أول شيء لاحظته في هذا الأمر هو استخدام الأمر .
هذه دالة DAX لا أستخدمها كثيرًا ، ولكنها مناسبة تمامًا لهذا النوع من المشكلات. إذا ألقينا نظرة على دليل SQL BI DAX ، فسنجد أن الدالة GENERATE هي دالة جدول تستخدم كإدخال جدولين مختلفين ، ثم تقوم بعمل مكافئ لأمر SQL CROSS.
لذلك يأخذ جدول أساسي (جدول 1) ويتكرر على ذلك ، ثم يأخذ تعبير جدول ثانٍ ويقيم ذلك لكل صف في الجدول الأول ، ثم يعود إلى الجدول كناتج.
لنأخذ مقياس أنتريكش ونضعه في الجدول. يمكننا أن نرى أنه ينتج نفس النتائج تمامًا مثل حل استعلام الطاقة الذي قدمناه في المرة السابقة. لذلك هذا جيد ويثبت صحة كلا المقياسين جيدًا.
لنفصل هذا المقياس. أول عامل تصفية يتم تطبيقه هنا هو التواريخ [IsBusinessDay] = TRUE. يؤدي هذا إلى إخراج كافة التواريخ التي ليست أيام عطلة نهاية الأسبوع وغير أيام العطلات استنادًا إلى حقل IsBusinessDay في جدول التاريخ الممتد.
نتحدث عن هذا كثيرًا في البرنامج التعليمي الأول ، حيث راجعنا أيضًا كيفية ربط ذلك بطاولة العطلة الخاصة بنا.
الجزء المثير للاهتمام من هذا يأتي حقًا في مدخلات الجدول. الجدول الأول هو جدول عمود واحد فقط لحقل الشهر والسنة في جدول التاريخ.
لكن مدخلات الجدول الثاني هي المكان الذي تحدث فيه الأشياء المثيرة للاهتمام. استخدم Antriksh ثم استخدم المعلمة الديناميكية الخاصة بنا كرقم الصفوف في TOPN.
يتم إرفاق مقياس إجمالي المبيعات بالجدول الثاني ، ثم يتم تطبيقه على الجدول الأول.
جدول المحتويات
فهم مقياس معقد باستخدام لغة ترميز DAX
واحدة من أسهل الطرق لمعرفة ما يفعله مقياس معقد مثل هذا هو الانتقال إلى محرر الجداول . يمكننا إلقاء نظرة على هذا التعبير ومعرفة ما يفعله تعبير TOPN هذا أولاً.
لنقم بنسخ جزء TOPN وإنشاء استعلام DAX جديد . تذكر أن استعلامات DAX تبدأ بـ EVALUATE.
عندما نقوم بلصق جزء TOPN ، سنرى أن هذا يسحب التواريخ الخمسة الأولى من جدول أوامر المبيعات. يوجد جدول في TOPN يتكون من قيم جميع تواريخ الطلبات داخل جدول المبيعات.
تأخذ وظيفة TOPN هذه قيمة معلمة what-if (والتي تكون في هذه الحالة 5) وتطبقها على حقل تاريخ أمر المبيعات. ثم يتم سحب التواريخ الخمسة الأولى ضمن سياق المرشح بترتيب تصاعدي بناءً على هذا الحقل.
نظرًا لعدم وجود سياق مرشح إضافي ، فإنه يسحب فقط تلك التواريخ الخمسة الأولى من الجدول بأكمله.
يضيف عمودSales فقط إجمالي المبيعات ضمن سياق عامل التصفية المناسب إلى جدول TOPN.
حتى الآن ، لدينا الجدول الأول للشهر والسنة ، والجدول الثاني من TOPN لتواريخ N الأولى من جدول المبيعات ، ثم إجمالي المبيعات المرتبطة بذلك.
استخدام جدول التوليد في لغة ترميز DAX
دعنا نلقي نظرة على ما يفعله هذا الجدول العام. سنعود إلى Tabular Editor وننشئ استعلام DAX جديدًا.
سنبدأ كما نفعل دائمًا مع التقييم ، ولصقه في جزء الإنشاء من الكود ، ثم انقر فوق 5.
يمكننا أن نرى أنه بالنسبة لكل صف من الجدول الأول ، فإنه يتكرر وينضم إلى الصفوف الخمسة من جدول TOPN الذي تم تقييمه في السياق باستخدام دالةSales.
لقد استغرق الأمر أول 5 أيام عمل في أبريل ، وأول 5 أيام عمل في مايو ، وأول 5 أيام عمل في يونيو ، وهكذا حتى يصل إلى نهاية الجدول الأول.
هذا هو بالضبط ما نحتاجه ، والآن أصبح جمع هذه القيم أمرًا بسيطًا نسبيًا. لدينا النتيجة (وهي متغير الجدول لنتائج التوليد) ومن ثم نحتاج إلى تلخيص دالة المبيعات.
في السياق ، نقوم الآن بتلخيص أول 5 أيام عمل في أبريل ، وأول 5 أيام عمل في مايو ، وما إلى ذلك حتى نصل إلى إجمالي 23،737،430 دولارًا أمريكيًا ، وفي هذه الحالة لا يوجد سياق للشهر والسنة للعمل .
يلخص هذا العمود @ المبيعات بالكامل ويحصل لنا على نفس الإجمالي بالضبط الذي كان لدينا في حل استعلام الطاقة الخاص بنا.
يمكنك أن ترى أنه إذا قمنا بتغيير أداة تقطيع الشرائح إلى 10 ، فسنحصل ديناميكيًا على نفس النتائج باستخدام لغة ترميز DAX كما فعلنا في استعلام الطاقة.
لدينا أيضًا مخطط شريطي في الجزء السفلي يتم تعديله ديناميكيًا ليعكس التغييرات التي أجريناها.
ضبط عنوان القياس ديناميكيًا
هناك خدعة أخرى أردت أن أريكم إياها. يمكنك إنشاء تعديل ديناميكي على معلمة what-if الخاصة بك وربطها ديناميكيًا بعنوان مقياس.
على سبيل المثال ، إذا قمنا بتغيير أداة تقطيع الشرائح في الجزء العلوي إلى 15 ، فسيتم تغيير اسم المقياس في الجزء السفلي ديناميكيًا إلى إجمالي المبيعات لأول 15 يوم عمل من كل شهر .
توجد طريقة سهلة للقيام بذلك في DAX باستخدام التنسيق الشرطي . نحن في الأساس نأخذ ثلاث سلاسل فقط. الأول هو إجمالي المبيعات للأول ، ثم اربط ذلك بالقيمة التي نحصدها من معلمة ماذا لو ، ثم اربطها ببقية العنوان.
ثم ننتقل إلى الشكل المرئي ، وننتقل إلى التنسيق الشرطي للعنوان ، ونضغط على fx .
سنقوم بالتنسيق حسب قيمة الحقل ونختار مقياس العنوان الديناميكي هذا. سيؤدي هذا إلى تغيير اختيار معلمة ماذا لو.
خاتمة
ما لدينا الآن هو حل كامل باستخدام لغة الترميز DAX. لقد ناقشنا طريقة مبتكرة وفعالة حقًا للقيام بذلك باستخدام وظيفة التوليد. أود أن أشكر Antriksh لمشاركتنا معرفته الرائعة DAX معنا. لقد تعلمت الكثير أثناء استعراض حل DAX الخاص به ، وآمل أن تكون قد فعلت ذلك أيضًا.
ما هي الذات في بايثون: أمثلة من العالم الحقيقي
ستتعلم كيفية حفظ وتحميل الكائنات من ملف .rds في R. ستغطي هذه المدونة أيضًا كيفية استيراد الكائنات من R إلى LuckyTemplates.
في هذا البرنامج التعليمي للغة ترميز DAX ، تعرف على كيفية استخدام وظيفة الإنشاء وكيفية تغيير عنوان القياس ديناميكيًا.
سيغطي هذا البرنامج التعليمي كيفية استخدام تقنية Multi Threaded Dynamic Visuals لإنشاء رؤى من تصورات البيانات الديناميكية في تقاريرك.
في هذه المقالة ، سأقوم بتشغيل سياق عامل التصفية. يعد سياق عامل التصفية أحد الموضوعات الرئيسية التي يجب على أي مستخدم LuckyTemplates التعرف عليها في البداية.
أريد أن أوضح كيف يمكن لخدمة تطبيقات LuckyTemplates عبر الإنترنت أن تساعد في إدارة التقارير والرؤى المختلفة التي تم إنشاؤها من مصادر مختلفة.
تعرف على كيفية إجراء تغييرات في هامش الربح باستخدام تقنيات مثل قياس التفرع والجمع بين صيغ DAX في LuckyTemplates.
سيناقش هذا البرنامج التعليمي أفكار تجسيد مخازن البيانات وكيفية تأثيرها على أداء DAX في توفير النتائج.
إذا كنت لا تزال تستخدم Excel حتى الآن ، فهذا هو أفضل وقت لبدء استخدام LuckyTemplates لاحتياجات إعداد تقارير الأعمال الخاصة بك.
ما هي بوابة LuckyTemplates؟ كل شيئ ترغب بمعرفته