ما هي الذات في بايثون: أمثلة من العالم الحقيقي
ما هي الذات في بايثون: أمثلة من العالم الحقيقي
سأوضح لك كيفية استخدام وظيفة الإزاحة في LuckyTemplates . إنها واحدة من أكثر الأدوات الديناميكية التي يمكنك استخدامها خاصة في جداول التواريخ الخاصة بك.
بمجرد إتقان كيفية تطبيقه في مشاريع ذكاء الوقت ، يمكنك الحصول على المزيد من الأفكار المتعمقة التي لن تحصل عليها باستخدام أي نهج آخر. يمكنك مشاهدة الفيديو الكامل لهذا البرنامج التعليمي في أسفل هذه المدونة.
جدول المحتويات
فهم ميكانيكا وظيفة الأوفست
سأبدأ بإظهار آليات وظيفة الإزاحة.
تُظهر الإزاحات الفرق بين تاريخ اليوم والتواريخ الأخرى في بياناتك.
كما ترى في جدول التواريخ أدناه ، فقد ركزت على ربع السنة والسنة حتى أتمكن من رؤية حركة البيانات الفعلية.
يُظهر الصف الأرجواني الفترة الحالية . لاحظ أن الفترة الحالية لها دائمًا قيمة إزاحة تساوي 0 .
وفوق ذلك ، باللون الأصفر ، تظهر جميع البيانات القادمة من الماضي . ستلاحظ أن الأرقام هنا إما 0 أو أقل من 0 ، ممثلة بالبيانات السلبية .
هذا يعني أنه بالنسبة للبيانات من المستقبل ، ستظهر هذه القيم الإيجابية . اعتمادًا على دقة العمود ، قد يحتوي أيضًا على 0 .
إذن ما الذي يجعل التعويضات قوية؟
قد تكون الإزاحات أرقامًا متسلسلة تمثل الفرق بين البيانات المختلفة في الجدول . ولكن ما يجعل التعويضات رائعة هو عدم وجود حدود لها .
على سبيل المثال ، ستمتد الأرباع من 1 إلى 4 ، تمثل الأرباع الأربعة في السنة. تمتد الأشهر من 1 إلى 12 بينما يمكن أن تمتد الأسابيع من 1 إلى 52 أو 53 ، اعتمادًا على السنة التي تكون فيها. لكن بمجرد وصولي إلى الرقم الأخير ، يجب أن أبدأ من جديد.
هذا ليس هو الحال بالنسبة للتعويضات. عندما يتعلق الأمر بالتعويضات ، فإنها ستظهر دائمًا موضعًا نسبيًا للتاريخ الحالي والتاريخ الآخر الذي تتم الإشارة إليه .
لذلك في كل مرة يتم فيها تحديث جدول التاريخ ، يتم أيضًا تحديث المنطق الذي يجعل عمليات الإزاحة تعمل. هذا يعني أنه سيتم أيضًا عرض القيمة المحدثة في جدول التاريخ.
مثال على عمود تعويض الأسبوع
لإعطائك صورة أوضح عن كيفية عمل وظيفة الإزاحة ، سأعطيك مثالاً عن كيفية تطبيقها.
في نموذج البيانات الخاص بي ، يُظهر تاريخ اليوم هو 24 أبريل 2020 .
مرة أخرى ، تنص مبادئ الإزاحة على أن الفترة الحالية يتم تمثيلها بـ 0 ، ويتم تمثيل البيانات المستقبلية بقيم موجبة ويتم تمثيل الفترات الماضية بأرقام سالبة .
لدي أيضًا أداة تقطيع شرائح على صفحتي تحتوي على قيمة WeekOffset. حاليًا ، يعرض جميع القيم من -53 إلى 0 ، ويمثل 0 الأسبوع الحالي .
يصادف الرابع والعشرون من أبريل (وهو اليوم) الأسبوع 17 .
يغطي جدول التاريخ الممتد هذا أرقام أسبوع ISO فقط . هذا يعني أن الأسابيع تبدأ يوم الاثنين . هذا يعني أيضًا أن الأسبوع سيحتوي دائمًا على 7 أيام .
ولكن هناك الكثير من متطلبات الأسبوع المخصصة التي لا تتبع نفس المنطق. يمكنك معرفة المزيد حول هذه الحالات في مختلف الموضوعات التي يتم تناولها في منتدى LuckyTemplates.
أيضًا ، يمكنك التفكير في استخدام الشهر والسنة بدلاً من الأسبوع والسنة إذا كان ذلك ينطبق بشكل أفضل على حالتك.
بالعودة إلى البيانات النموذجية ، ربما لاحظت أن قيم WeekOffset موجودة في نطاق رقمي متسلسل مثالي .
هذا لأنهم يشتركون في نفس الدقة في كل مكان . لا توجد قيم مكررة ولا قيم مفقودة.
بالطبع ، يتم إجراء مقياس إجمالي المبيعات المستخدم هنا بالطريقة المعتادة ، مع مجرد عادي فوق المبيعات للكمية مضروبة في السعر . بعد ذلك ، يتم تجميع كل ذلك للحصول على قيمة أسبوعية.
ولكن ماذا لو كنت أرغب فقط في رؤية آخر 4 أسابيع من المبيعات؟
عليّ فقط تغيير آلة التقطيع الخاصة بي إلى نطاق يتراوح من -3 إلى 0 .
الآن ، يعرض الجدول الخاص بي فقط تلك الأسابيع الأربعة الأخيرة من المبيعات.
لذلك بينما أتحرك عبر الوقت ، يتم تحديث جدول التواريخ الخاص بي. يحدث الشيء نفسه إذا تم تحميل نتائج المبيعات الجديدة في جدول الحقائق.
استخدام إزاحات في DAX
هذه المرة ، سأوضح لك كيف يمكن استخدام وظيفة الإزاحة في مقاييس DAX.
لدي جدول مع الأسبوع والسنة وإجمالي المبيعات .
لذلك ، إذا كنت أرغب في حساب مبيعات الأسبوع السابق بدون تعويضات ، فسيتعين علي أولاً استخراج رقم CurrWeek ، ثم التحقق من قيمة CurrYear .
إذا كنت بحاجة إلى تخطي حدود العام ، فسوف يتعين علي حساب Weeknumber لهذا العام الماضي.
من هناك ، سأستخدم SUMX كدالة متكررة في جدول التاريخ. أود أيضًا التحقق مما إذا كان CurrWeek هو الأسبوع رقم 1 .
إذا لم يكن الأسبوع الأول ، فأنا بحاجة فقط لطرح 1 من قيمة CurrWeek لـ CurrYear . بعد ذلك ، يمكن أخيرًا تلخيص إجمالي المبيعات .
بالنظر إلى الجدول أدناه ، يمكنك الآن رؤية أن جميع القيم مجمعة تمامًا. القيم التي تظهر ضمن إجمالي المبيعات يتم ترحيلها ببساطة إلى الأسبوع التالي.
حتى لو تجاوزت حدود العام من 2017 إلى 2018 ، فإن النمط لا ينكسر. لا يزال إجمالي المبيعات من الأسبوع الأخير من عام 2017 محسوبًا بشكل مثالي للأسبوع الأول من عام 2018.
هذه المرة ، سأقوم بنفس الحساب ، ولكن مع تطبيق تعويضات جدول التاريخ.
هذا ما يبدو عليه هذا المقياس عندما أستخدم التعويضات.
للحصول على قيمة PrevWeek ، أحتاج فقط إلى الرجوع إلى WeekOffset المحدد وطرح 1.
بعد ذلك ، سأستخدم وظيفة لإجمالي المبيعات عبر التواريخ حيث تساوي WeekOffset قيمة PrevWeek .
بالنظر إلى النتائج ، تبدو النتائج مثالية ، حتى في الفترة الانتقالية من 2017 إلى 2018.
القضية ، ومع ذلك ، في المجموع . من الواضح أن هذه ليست القيمة الصحيحة.
وإليك كيف سأصلح ذلك.
أولاً ، لاحظ أن عمود الأسبوع والسنة في ترتيب تصاعدي .
سأقوم بتغيير ذلك وفرز العمود بترتيب تنازلي بدلاً من ذلك ، مع وجود 2020 في الأعلى.
نظرًا لعدم وجود سياق قادم من الأسبوع والسنة ، فإنه لا يحدد قيمة تعويض الأسبوع الحالي ولكنه لا يزال يطرح 1 . لكن ما يمكنني فعله هو تطبيق إجمالي تراكمي لضبط الإجمالي .
هذا ما سيبدو عليه المقياس:
بداية القياس لا تتغير. إنه بالضبط نفس الإجراء السابق الذي طبقته.
ولكن نظرًا لأنني بحاجة إلى استخدام نمط مشابه للمجاميع التراكمية ، فلا بد لي من استخدام وظيفة CALCULATE في الأسبوع الأول على مدار Dates مع طرح 1 منه.
لا بد لي أيضًا من تحديد قيمة MAX WeekOffset من التواريخ المحددة وطرح واحدة من ذلك أيضًا.
بعد ذلك ، سأستخدم وظيفة CALCULATE مرة أخرى لإجمالي المبيعات . سأستخدم وظيفة لتضمين جميع التواريخ . يجب أن تكون قيمة WeekOffset أكبر من أو تساوي FirstWeek وأقل من LastWeek أو مساوية لها .
مرة أخرى ، يتبع هذا النمط الأساسي للمجاميع التراكمية.
ثم يمكنني المتابعة للتحقق من المجموع الكلي باستخدام أنماط .
لذلك إذا كان ISINSCOPE الأسبوع والسنة ، أتوقع أن تظهر النتائج LWSales . ولكن إذا لم يكن الأمر كذلك ، أتوقع ظهور LWTotal .
لذا ، إذا عدت إلى طاولتي ، فسوف تظهر الآن الإجمالي الصحيح.
تعويضات أسابيع محددة
دعني أعود إلى المثال الذي استخدمته سابقًا حيث قمت بتصفية البيانات لإظهار الأسابيع الأربعة الماضية فقط.
إذا ذهبت إلى المقياس ، يمكنني التوصل إلى نفس النتائج باستخدام التعويضات. هذا ما سيبدو عليه ذلك.
كان علي فقط تحديد قيمة WeekOffset الحالية للسياق القادم من الصفوف.
بمجرد الحصول على ذلك ، يمكنني تطبيق وظيفة CALCULATE على إجمالي المبيعات لجميع التواريخ حيث يكون WeekOffset أكبر من أو يساوي ThisWeek ناقص 3 ، أو أقل من أو يساوي قيمة ThisWeek .
هذا يعيد نفس القيمة بالضبط مثل المثال الذي أحاول نسخه.
الإجماليات التراكمية استنادًا إلى متوسط النتائج الشهرية في تسوية بيانات LuckyTemplates
في LuckyTemplates لنتائج الأيام المختلفة ،
قم بإنشاء جدول تاريخ شامل في LuckyTemplates سريعًا حقًا
خاتمة
الأمثلة التي عرضتها عليكم أعلاه تثبت مدى حقيقة التعويضات الديناميكية. يمكنك استخدامها في عوامل التصفية والشرائح وحتى في حسابات DAX.
يمكن أيضًا استخدام الإزاحات في جداول التواريخ الممتدة للأسابيع والأشهر ورباع السنة والسنوات والسنوات المالية. إنها توفر قدرًا كبيرًا من المرونة ويمكن أن تساعدك بسهولة في الحصول على النتائج التي تريدها.
ما عليك سوى الاستمرار في اللعب بالتعويضات ومعرفة الاستخدامات الأخرى التي يمكنك الحصول عليها لهم. يمكنك أيضًا التحقق من للحالات الأخرى التي أثبتت فيها وظيفة الإزاحة أنها مفيدة.
أتمنى لك كل خير،
ميليسا
ما هي الذات في بايثون: أمثلة من العالم الحقيقي
ستتعلم كيفية حفظ وتحميل الكائنات من ملف .rds في R. ستغطي هذه المدونة أيضًا كيفية استيراد الكائنات من R إلى LuckyTemplates.
في هذا البرنامج التعليمي للغة ترميز DAX ، تعرف على كيفية استخدام وظيفة الإنشاء وكيفية تغيير عنوان القياس ديناميكيًا.
سيغطي هذا البرنامج التعليمي كيفية استخدام تقنية Multi Threaded Dynamic Visuals لإنشاء رؤى من تصورات البيانات الديناميكية في تقاريرك.
في هذه المقالة ، سأقوم بتشغيل سياق عامل التصفية. يعد سياق عامل التصفية أحد الموضوعات الرئيسية التي يجب على أي مستخدم LuckyTemplates التعرف عليها في البداية.
أريد أن أوضح كيف يمكن لخدمة تطبيقات LuckyTemplates عبر الإنترنت أن تساعد في إدارة التقارير والرؤى المختلفة التي تم إنشاؤها من مصادر مختلفة.
تعرف على كيفية إجراء تغييرات في هامش الربح باستخدام تقنيات مثل قياس التفرع والجمع بين صيغ DAX في LuckyTemplates.
سيناقش هذا البرنامج التعليمي أفكار تجسيد مخازن البيانات وكيفية تأثيرها على أداء DAX في توفير النتائج.
إذا كنت لا تزال تستخدم Excel حتى الآن ، فهذا هو أفضل وقت لبدء استخدام LuckyTemplates لاحتياجات إعداد تقارير الأعمال الخاصة بك.
ما هي بوابة LuckyTemplates؟ كل شيئ ترغب بمعرفته