حل LuckyTemplates بين التواريخ وساعات العمل

حل LuckyTemplates بين التواريخ وساعات العمل

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

المهمة هي حساب العدد الإجمالي لساعات الموظف في كل شهر وتاريخ. لقد قدمت تواريخ البدء والانتهاء التي يمكن أن تتخطى شهورًا وتأخذ الحالة في الاعتبار عند التعامل مع الأخطاء المطبعية المحتملة. 

حل LuckyTemplates بين التواريخ وساعات العمل

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

مجموعة بيانات لـ LuckyTemplates بين مواعيد ساعات العمل

لننتقل إلى محرر Power Query. 

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

حل LuckyTemplates بين التواريخ وساعات العمل

تصفية الصفوف

لنبدأ بتحديد الصفوف بناءً على حالتها ، ويمكن لمحرر الاستعلام مساعدتنا في هذا المنطق. انقر فوق سهم القائمة المنسدلة بجوار الحالة. حدد عوامل تصفية النص واختر لا تبدأ بـ. 

حل LuckyTemplates بين التواريخ وساعات العمل

في نافذة Filter Rows التي ستظهر ، اكتب "e". ثم انقر فوق "موافق" .

حل LuckyTemplates بين التواريخ وساعات العمل

لن يحدث شيء بعد ، ولا بأس بذلك لأننا نكتب حرفًا صغيرًا "e" و "استبعاد" في بياناتنا التي تبدأ بحرف كبير "E".

لإصلاح ذلك ، سنستخدم المعامل الثالث الاختياري Text.StartsWith . في شريط الصيغة ، انتقل إلى نهاية الدالة Text.StartsWith. أضف فاصلة ودعنا ندخل المقارنة. انقر فوق علامة الاختيار والتي يجب أن تزيل صفوف الاستبعاد .

حل LuckyTemplates بين التواريخ وساعات العمل

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

يمكننا اختبار ما إذا كانت الكلمة لا تتضمن "X" من خلال توسيع وظيفتنا واستخدام Text.Contains . للقيام بذلك ، أضف أو Text.Contains ([الحالة] ، "x" ، Comparer.OrdinalIgnoreCase .

لاحظ أنه مقارنة بالفقرة الأولى ، استبدلنا "e" بالحرف "x". نستمر في تجاهل الحالة ونلف مجموعة من الأقواس حول كلتا الجملتين. انقر فوق علامة الاختيار ويجب أن نحصل على جدول بدون الصفوف التي تحتوي على حالة الاستبعاد أو الاستبعاد .

حل LuckyTemplates بين التواريخ وساعات العمل

إضافة عمود مخصص

دعنا الآن نتوجه إلى الجزء الرئيسي من هذا التحدي. سنضيف عمودًا مخصصًا باستخدام واجهة المستخدم ثم ننتقل إلى المحرر. 

ابدأ برمز الجدول المصغر في الزاوية اليسرى العلوية من الجدول. انقر فوقه وفي القائمة المنسدلة ، حدد إضافة عمود مخصص

حل LuckyTemplates بين التواريخ وساعات العمل

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

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

سنفعل الشيء نفسه بالنسبة للمتغيرات ST و ED و ET التي سيتم تخصيصها لوقت البدء وتاريخ الإيقاف ووقت الإيقاف ، على التوالي. ثم أغلق السجل بقوس إغلاق. انقر فوق "موافق".

حل LuckyTemplates بين التواريخ وساعات العمل

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

حل LuckyTemplates بين التواريخ وساعات العمل

ساعات عمل LuckyTemplates بين التواريخ: المتغيرات

يمكننا بعد ذلك تنسيق المتغيرات الخاصة بنا من خلال نافذة المحرر المتقدم . هذا هو الشكل الذي يجب أن تبدو عليه نافذة المحرر المتقدم. 

حل LuckyTemplates بين التواريخ وساعات العمل

بعد ذلك ، لنضع المتغيرات في أسطر جديدة منفصلة.

حل LuckyTemplates بين التواريخ وساعات العمل

الآن ، يمكننا توسيع المنطق الذي نحتاجه. لذلك ، بدلاً من التسجيل ، يمكننا أيضًا استخدام تعبير let متداخلة هنا. لاحظ أن أيًا منهما سيعمل لأن لدينا متغيرات متعددة أو أسماء حقول مع القيم المخصصة لها.

تاريخ البدء مكتوب حاليًا كقيمة نصية ونحتاج إلى تحويل ذلك إلى تنسيق تاريخ مناسب. للقيام بذلك ، قم بلف الدالة Date.FromText حولها. 

حل LuckyTemplates بين التواريخ وساعات العمل

بالنسبة إلى وقت البدء الذي تم تنسيقه أيضًا كسلسلة ، نحتاج إلى تحويله إلى رقم. بعد ذلك ، يمكننا تقسيمها على مائة وتقريبها لإزالة أي منازل عشرية. 

باستخدام الدالة Number.From ، قسّم قيمة تاريخ البدء على 100 . ثم قم بلفها داخل الوظيفة التالية ، رقم ، جولة ، وأضف 0 في النهاية لتقريبها بدون منازل عشرية. 

حل LuckyTemplates بين التواريخ وساعات العمل

بالنسبة لتاريخ الانتهاء ووقت الانتهاء ، سنقوم فقط بنسخ الوظائف نفسها التي كانت لدينا في تاريخ البدء ووقت البدء على التوالي ، واستبدالها بالمتغيرات المناسبة.

حل LuckyTemplates بين التواريخ وساعات العمل

بمجرد تنسيق المتغيرات بشكل صحيح ، قم بإنشاء حقل آخر في سجلنا لبعض المنطق الإضافي. أنشئ سطرًا جديدًا بالضغط على Enter. 

نحتاج إلى إنشاء قائمة بالتواريخ من التاريخ الأول حتى تاريخ الانتهاء. سنطلق على هذه التواريخ اسم LD وسنستخدم قائمة الوظائف

المعلمة الأولى لهذه الوظيفة هي البداية كتاريخ والذي سيكون SD الخاص بنا. بعد ذلك ، تريد حسابًا كرقم أو الفرق بين تاريخ البدء وتاريخ الانتهاء. يمكننا الحصول على ذلك باستخدام Number. From التابع متبوعًا بـ ( ED - SD) + 1 . لاحظ أن "+1" لا تظهر في المجموعات التالية من لقطات الشاشة ، ولكن يجب أن يكون هناك +1 .

المعلمة الثالثة تسمى الخطوة كمدة ونريد زيادة يوم واحد. يمكننا الحصول على ذلك باستخدام Duration. from (1). 

حل LuckyTemplates بين التواريخ وساعات العمل

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

لنسمي هذا LT لقائمة الأوقات. يمكن أن يكون لـ LT فترة يوم ليوم واحد والتي تتطلب منطقًا مختلفًا قليلاً عما إذا كانت تمتد عبر أيام متعددة. لذلك هذا شيء يجب أن نخلق له حالة. 

نريد أن ينص الشرط على "إذا كان تاريخ البدء هو نفس تاريخ الانتهاء ، فإن وقت الانتهاء مطروحًا منه وقت البدء". يجب أن تكون النتائج في قائمة تنسيق لذلك نستخدم مُهيئ القائمة الذي يمثله {}

حل LuckyTemplates بين التواريخ وساعات العمل

الآن ، إذا كان لدينا نطاق زمني يمتد لعدة أيام ، فسيكون التاريخ الأول 24 مطروحًا منه وقت البدء. سنضيف هذا إلى شرطنا مثل بيان else . مرة أخرى ، قم بتنسيق ذلك كقائمة باستخدام الأقواس المتعرجة.

حل LuckyTemplates بين التواريخ وساعات العمل

في هذه المرحلة ، لم نأخذ في الحسبان الأيام الأخرى بأكملها ، لذا سنستخدم رمز علامة العطف (&) لإلحاق قوائم متعددة. لكل يوم كامل ، أنشئ قائمة بالقيمة 24 التي تمثل 24 ساعة لدينا في اليوم. سنستخدم القائمة ، كرر ذلك. 

باستخدام وظيفة List.Repeat ، قم بإنشاء قائمة تحتوي على 24 وكرر ذلك عددًا من المرات عن طريق حساب عدد الأيام في LD . لتحقيق ذلك ، استخدم List.Count (LD)   ثم اطرح 2 لأن لدينا قائمة منفصلة لتاريخ البدء وسننشئ قائمة أخرى لوقت الانتهاء. 

في الأساس ، سيؤدي هذا إلى إنشاء قائمة بها 24 ساعة فقط لكل يوم كامل. 

حل LuckyTemplates بين التواريخ وساعات العمل

بالنسبة لوقت الانتهاء ، يمكننا إلحاقه مرة أخرى كقائمة باستخدام علامة العطف ، ثم ، باستخدام مُهيئ القائمة ، دعنا نسمي ET. 

حل LuckyTemplates بين التواريخ وساعات العمل

حتى الآن ، لدينا قائمتان كبيرتان - قائمة التواريخ وقائمة الأوقات - مع تساوي أطوالها مع بعضها البعض. من هاتين القائمتين ، يمكننا إنشاء جدول واحد. 

في سطر جديد ، قم بإنشاء متغير آخر للجدول الذي سنسميه t ونستخدم الدالة Table.FromColumns . تتطلب هذه الوظيفة قوائم على شكل قائمة وسنستخدم صعوبة التعلم الخاصة بنا. 

يحتوي LD الخاص بنا على تواريخ فردية من تاريخ البدء حتى تاريخ التوقف. يمكننا تحويل قائمة التواريخ هذه إلى قيمة تاريخ نهاية الشهر عن طريق تمرير LD واستدعاء دالة Date.EndOfMonth . ثم في السطر التالي ، دعنا نحصل على LT أيضًا. 

حل LuckyTemplates بين التواريخ وساعات العمل

اضغط على Enter لإنشاء سطر آخر وتعيين جدولنا كجدول نوع . سيتكون جدولنا من عمودين ، العمود الأول هو عمود التاريخ. لذلك ، قم بإنشاء عمود التاريخ واستدعاء الدالة Date.Type .

سيكون العمود الثاني هو عمود الساعات وسيكون عددًا صحيحًا. وبالتالي ، سننشئ عمود Hrs وندعو Int8.Type.

حل LuckyTemplates بين التواريخ وساعات العمل

لدينا قوس إغلاق لإغلاق سجلنا وقوس إغلاق لإغلاق دالة Table.AddColumn . انقر فوق تم وسنحصل على قائمة بالسجلات ضمن عمود مخصص. 

حل LuckyTemplates بين التواريخ وساعات العمل

مرة أخرى ، انقر فوق المساحة البيضاء بجوار كل سجل ويجب أن يفتح الجدول في الجزء السفلي من الشاشة. 

حل LuckyTemplates بين التواريخ وساعات العمل

لاحظ أن لدينا جدول t في الصف الأخير. دعنا نحاول البحث في أحد السجلات. انقر بزر الماوس الأيمن على النتيجة الأولى وإضافة استعلام جديد

حل LuckyTemplates بين التواريخ وساعات العمل

سنحصل على نفس الملخص السابق ، وإذا نقرنا على الجدول ، فيجب أن نحصل على قيم التاريخ والساعات .

حل LuckyTemplates بين التواريخ وساعات العمل

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

حل LuckyTemplates بين التواريخ وساعات العمل

بمجرد الحذف ، يمكننا العودة إلى استعلامنا الأولي والنقر مرة أخرى على المساحة البيضاء بجوار التسجيل. ستظهر نفس النتائج السابقة. لكن هذه المرة ، لنفكِّد شريط الصيغة ونستدعي [t] بجانب أقواس الإغلاق.

حل LuckyTemplates بين التواريخ وساعات العمل

في العمود المخصص ، يمكننا أن نرى أنه تم تغيير كل سجل إلى جدول

حل LuckyTemplates بين التواريخ وساعات العمل

ساعات عمل LuckyTemplates بين التواريخ: الإسقاط

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

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

حل LuckyTemplates بين التواريخ وساعات العمل

يجب أن نحصل على هذه النتيجة.

حل LuckyTemplates بين التواريخ وساعات العمل

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

حل LuckyTemplates بين التواريخ وساعات العمل

يجب أن تظهر طاولتنا هكذا.

حل LuckyTemplates بين التواريخ وساعات العمل

ساعات عمل LuckyTemplates بين التواريخ: القيم الإجمالية

كل ما تبقى الآن هو تجميع هذه القيم. للقيام بذلك ، حدد عمود اسم الموظفين وانتقل إلى التحويل. 

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

حل LuckyTemplates بين التواريخ وساعات العمل

سيبدو ناتجنا النهائي هكذا. 

حل LuckyTemplates بين التواريخ وساعات العمل


إنشاء جدول تاريخ في LuckyTemplates أسرع طريقة ممكنة
لمقارنة الوقت لجداول التاريخ غير القياسية في LuckyTemplates
DateTime Value: كيفية نزع الثواني

خاتمة

في هذه المدونة ، شاهدت أسلوبًا واحدًا لتحدي Start Stop Challenge الخاص بـ Access Analytic. لقد تعلمت كيفية حساب العدد الإجمالي لساعات العمل لكل موظف في الشهر ، وكيفية التعامل مع الأخطاء المطبعية المحتملة في بياناتك. 

باستخدام هذه التقنية و LuckyTemplates ، يمكن بسهولة حساب ساعات العمل بين التواريخ في مؤسستك ، أو كممارسة لتعميق معرفتك ومهاراتك في LuckyTemplates. 


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

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

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

كيفية حفظ وتحميل ملف 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؟ كل شيئ ترغب بمعرفته