ما هي الذات في بايثون: أمثلة من العالم الحقيقي
ما هي الذات في بايثون: أمثلة من العالم الحقيقي
بالنسبة لهذا المنشور ، أود التحدث عن نصيحة LuckyTemplates الأخيرة التي توصلت إليها لعضو في منتدى . تناول السؤال نمطًا مفيدًا من حيث النظر إلى أول ن أيام عمل أو أول ن أيام عمل للفوترة من شهر معين مقابل نفس الفترة في الشهر السابق. يمكنك مشاهدة الفيديو الكامل لهذا البرنامج التعليمي أسفل هذه المدونة.
أراد TJ Henneman مقارنة أول 5 أيام قابلة للفوترة من الشهر الحالي مع أول 5 أيام قابلة للفوترة من الشهر السابق ، ثم في اليوم 10 واليوم 15 واليوم 20. لاحظ أنه يريد فقط إلقاء نظرة على الأيام القابلة للفوترة ، لذلك هذا لا يشمل عطلات نهاية الأسبوع والعطلات. يمكنك التحقق من منشوره .
أعتقد أن هناك حلًا مثيرًا للاهتمام للاستعلام عن الطاقة هنا. لقد عملت أيضًا مع حل DAX مثير للاهتمام بشأن هذه المشكلة. سوف أتطرق إلى هذا الأخير في برنامج تعليمي آخر.
أريد أيضًا أن أطلعك على أسلوب إعداد التقارير الأخير الذي استخدمته لتحدي LuckyTemplates # 16. لقد استخدمت مؤشر KPI التمرير الذي سيعمل بشكل جيد مع هذه المشكلة بالذات.
ولكن بالنسبة لنصيحة LuckyTemplates هذه ، سأتطرق إلى حل استعلام الطاقة. دعنا ننتقل إلى LuckyTemplates ونلقي نظرة على بياناتنا. لهذا ، قمت بمحاكاة البيانات باستخدام أداة مجموعة بيانات التدريب التي قمنا بتجميعها معًا في LuckyTemplates ، والتي يمكنك استخدامها مجانًا. يعد هذا أمرًا رائعًا لتجميع مجموعة بيانات مخطط النجوم الأساسية ولاختبار الحلول.
جدول المحتويات
نموذج البيانات لدينا
يستخدم نموذج البيانات لدينا جدول التاريخ الممتد بالإضافة إلى سلسلة من جداول الأبعاد. لدينا أيضًا جدول مبيعات به ثلاث سنوات من البيانات الجزئية في السنة الأولى ، وبيانات كاملة في السنة الثانية ، وبيانات جزئية في السنة الثالثة. أخيرًا ، لدينا أيضًا جدول مقاييس .
لقد قمت أيضًا بتعديل مجموعة البيانات هذه بشكل طفيف. لقد أحضرت جدول العطلات وربطته بجدول التاريخ الممتد حتى يتمكن من حساب العطلات التي سنزيلها في هذا التحليل بشكل صحيح. إذا لم تكن متأكدًا من كيفية القيام بذلك ، فاطلع على هذا البرنامج التعليمي .
ثم قمت بتصفية أول شهر جزئي في مجموعة البيانات لأن ذلك الشهر كان يحتوي على بضعة أيام فقط من البيانات ولم يكن لديه أيام العمل التي نحتاجها. لاحظ أننا نبدأ مع أول شهر كامل ؛ ولكن بخلاف ذلك ، ستكون هذه مجموعة البيانات القياسية. لذلك دعنا ننتقل إلى استعلام القوة ونبدأ في العمل على نصيحة LuckyTemplates هذه.
إذا ألقينا نظرة على بياناتنا ، يمكنك أن ترى أن لدينا طلبات مختلفة في يوم معين. الهدف هو ترقيم كل شيء يبدأ من الأول من أبريل ليكون أول يوم عمل لدينا ، والثاني من أبريل باعتباره ثاني يوم عمل لدينا ، والثالث من أبريل باعتباره يوم عملنا الثالث ، وما إلى ذلك. سنقوم بترقيم هذا من 1 إلى N من أيام العمل لكل شهر أثناء قضاء عطلات نهاية الأسبوع والعطلات.
إنشاء جدول مكرر
لبدء الأمور ، نحتاج إلى إنشاء نسخة مكررة من هذا الجدول حتى نتمكن من التجميع في إجمالي المبيعات وإحضاره إلى مستوى الملاحظة الفردية. سنطلق على هذا الجدول المكرر مبيعات مجمعة .
ربما لاحظت أننا قمنا بتكرار جدول المبيعات بدلاً من الرجوع إليه فقط. في هذه الحالة ، سننضم إلى هذا الجدول مع جدول المبيعات الأصلي. إذا أشرنا إليها ، فسوف يتسبب ذلك في مشاكل عندما ننضم إلى الاثنين.
أول شيء يجب فعله هو استخدام Group By في عمود OrderDate . انقر فوق الزر "خيارات متقدمة" لأنه سيعطينا صورة كاملة عما نقوم به هنا. سنضع إجمالي مبيعات اليوم كاسم عمود جديد ، وسيكون مجموع إجمالي سطرنا.
الآن لدينا كل تاريخ (العمود الأول) وإجمالي المبيعات لذلك اليوم (العمود الثاني).
دمج جدول التواريخ
الخطوة التالية في نصيحة LuckyTemplates هذه هي دمج هذا مع جدول التواريخ لدينا لمعرفة أي من هذه الأيام هو أيام عمل وأي منها ليس كذلك. يمكننا التجميع حسب مرة أخرى ، وتقسيمها وترقيمها بشكل مناسب.
سنقوم بدمج جدول التواريخ وربط تاريخ الطلب بالتاريخ . يمكننا أن نرى في الجزء السفلي أن التحديد يتطابق مع كل صف في الجدول ، كما ينبغي.
المجال الذي نهتم به بشكل أساسي هو IsBusinessDay .
هذا هو الحقل الأساسي الذي سنقوم بالتجميع عليه ، ثم نستخدم الحقلين الشهر والسنة والشهر العام .
نحتاج أيضًا إلى التحقق من DayofWeekName للتأكد من أننا نقوم بتصفية الأيام المناسبة.
بمجرد النقر فوق الزر "موافق" ، سوف يعطينا بالضبط ما نحتاجه.
يتعين علينا أيضًا التأكد من أن تاريخ الطلب الخاص بنا يتم فرزه بترتيب تصاعدي.
ثم نعود وننشئ مجموعة ثانية "Group By" .
هذه المرة ، سننقر فوق الزر "خيارات متقدمة" ، ثم المجموعة في الشهر والسنة ، ثم نضيف مجموعة ثانية.
المجموعة الثانية هي لـ IsBusinessDay حتى نتمكن من ترقيم المجموعات التي تكون أيام العمل فيها صحيحة.
ثم سننشئ وظيفة AllRows حتى لا يتم تجميعها وسنكون قادرين على العودة إلى المستوى الأصلي من التفاصيل.
يجب أن يوفر لنا هذا جداول متداخلة حيث يمكننا رؤية جدول للصواب وجدول للخطأ لكل شهر.
إنشاء عمود مخصص
بعد ذلك ، نحتاج إلى إنشاء عمود مخصص لإضافة العدد الذي نحتاجه لأيام العمل.
سنستخدم دالة تسمى Table.AddIndexColumn ، والتي ستعمل على جدول AllRows ، وسنسميها مؤشر اليوم . نريد أن يبدأ المؤشر بالرقم 1 ، وأن يزداد بمقدار 1 مع كل يوم عمل جديد.
ثم يمكننا إزالة الأعمدة الثلاثة الأولى ، والتوسع في العمود المخصص الرابع.
إذا نظرنا إلى النتيجة ، فإنها تعطينا مؤشر اليوم ، الذي يحسب أيام العمل (صواب) ، ثم يحسب أيام عطلات نهاية الأسبوع والعطلات في كل شهر (خطأ). بعد ذلك ، يتعين علينا التحقق من أن هذه في نوع الحقل المناسب.
دعنا نعود إلى جدول المبيعات الخاص بنا. سنقوم بدمج الجدول التجميعي الذي أنشأناه للتو مع جدول المبيعات الخاص بنا.
سنقوم بدمج تلك الموجودة في OrderDate . يمكنك أن ترى في الجزء السفلي أنه يتطابق مع جميع الصفوف من الجدول الأول.
عندما نقوم بتوسيع عمود مجموعة المبيعات ، حدد الحقول الجديدة التي أضفناها للتو: أعمدة الشهر والسنة و DayOfWeekName و MonthnYear و IsBusinessDay و DayIndex .
لنقم أيضًا بتنظيف بياناتنا قبل النقر فوق إغلاق وتطبيق . دعنا ننقل جدول Agg للمبيعات في قسم Data Prep الخاص بنا ، ثم نفرغ هذا الجدول لأننا لن نحتاج إليه ضمن نموذج البيانات. ثم انقر فوق إغلاق وتطبيق .
تم الآن الانتهاء من عملنا التحضيري لاستعلام الطاقة.
إنشاء معلمة ماذا لو
تذكر أننا في المهمة الأصلية نريد تغيير عدد الأيام التي ننظر إليها من 5 إلى 10 ومن 15 إلى 20. أعتقد أن أفضل طريقة للقيام بذلك هي باستخدام معلمة ماذا لو جديدة .
سوف نسمي معلمة ماذا لو أول ن أيام عمل وسيكون نوع البيانات الخاص بها عددًا صحيحًا. يتم تعيين الحد الأدنى على زيادة 1 و 20 كحد أقصى. ثم سنقوم افتراضيًا بـ 5 ، وهي القيمة الأولى التي يريدها المستخدم.
لدينا الآن أداة تقطيع تعمل تلقائيًا على إنشاء مقياس الحصاد لالتقاط قيمة تقطيع اللحم.
لنقم بإنشاء جدول بالنتائج التي توصلنا إليها. دعونا نضع بُعد الشهر والسنة في اللوحة القماشية ثم نفرزها حسب الشهر والسنة .
بمجرد فرز هذا الحقل بشكل صحيح ، يمكننا فقط إسقاط مقياس إجمالي المبيعات وتوسيعه.
إنشاء مقياس لعدد أيام العمل
نحتاج إلى إنشاء مقياس آخر يلقي نظرة على قيمة معلمة شريط التمرير ويحسب فقط عدد أيام العمل.
سنسمي هذا الإجراء الجديد إجمالي المبيعات N عدد أيام الحافلة . سنبدأ بوظيفة نظرًا لأننا نغير السياق بالتأكيد ، ومع مقياس إجمالي المبيعات لدينا. سنقوم بتصفية هذا باستخدام في جدول المبيعات لدينا.
الخطوة التالية هي كتابة الشروط التي نريد أن نأخذها في الاعتبار لشريط التمرير. لدينا فهرس يوم المبيعات الذي أنشأناه في Power Query ، ونريد أن يكون هذا أقل من أو يساوي قيمة أول N أيام عمل ، وهي القيمة المحصودة من أداة تقطيع الشرائح.
على سبيل المثال ، إذا كان شريط التمرير عند 5 ، فإننا نريد جميع أيام جدول المبيعات حيث يكون مؤشر اليوم أقل من أو يساوي 5.
وبعد ذلك نريد قضاء أيام العطلات. سنشير إلى جدول التاريخ ونستخدم حقل IsBusinessDay. سننظر فقط إلى النتيجة التي هي TRUE.
أخيرًا ، أعد سياق الشهر والسنة وأغلق الإجراء. يجب أن نكون جيدين للذهاب في هذه المرحلة.
دعنا نسقط المقياس الجديد في جدولنا.
يمكننا أن نأخذ شريط التمرير إلى علامة 10 أيام ، وسوف يحسب الجدول ديناميكيًا عند علامة 10 أيام.
خاتمة
في نصيحة LuckyTemplates هذه ، تحدثنا عن كيفية إجراء مقارنة مماثلة ديناميكيًا باستخدام حل Power Query. يمكننا وضع هذا في مخطط شريطي أو مخطط خطي.
في بعض برامجنا التعليمية القادمة ، سوف نلقي نظرة على حل DAX ونقوم بتنفيذ التصور لـ KPI scroller.
إذا كنت قد استمتعت بالمحتوى المغطى في هذا البرنامج التعليمي المحدد ، فلا تنس الاشتراك في قناة LuckyTemplates التلفزيونية .
ما هي الذات في بايثون: أمثلة من العالم الحقيقي
ستتعلم كيفية حفظ وتحميل الكائنات من ملف .rds في R. ستغطي هذه المدونة أيضًا كيفية استيراد الكائنات من R إلى LuckyTemplates.
في هذا البرنامج التعليمي للغة ترميز DAX ، تعرف على كيفية استخدام وظيفة الإنشاء وكيفية تغيير عنوان القياس ديناميكيًا.
سيغطي هذا البرنامج التعليمي كيفية استخدام تقنية Multi Threaded Dynamic Visuals لإنشاء رؤى من تصورات البيانات الديناميكية في تقاريرك.
في هذه المقالة ، سأقوم بتشغيل سياق عامل التصفية. يعد سياق عامل التصفية أحد الموضوعات الرئيسية التي يجب على أي مستخدم LuckyTemplates التعرف عليها في البداية.
أريد أن أوضح كيف يمكن لخدمة تطبيقات LuckyTemplates عبر الإنترنت أن تساعد في إدارة التقارير والرؤى المختلفة التي تم إنشاؤها من مصادر مختلفة.
تعرف على كيفية إجراء تغييرات في هامش الربح باستخدام تقنيات مثل قياس التفرع والجمع بين صيغ DAX في LuckyTemplates.
سيناقش هذا البرنامج التعليمي أفكار تجسيد مخازن البيانات وكيفية تأثيرها على أداء DAX في توفير النتائج.
إذا كنت لا تزال تستخدم Excel حتى الآن ، فهذا هو أفضل وقت لبدء استخدام LuckyTemplates لاحتياجات إعداد تقارير الأعمال الخاصة بك.
ما هي بوابة LuckyTemplates؟ كل شيئ ترغب بمعرفته