السلام عليكم
هل يمكن المساعدة في فهم ال queries هنا
المسالة في الصورة وهذا الكود الخاص بي ولكن لا يعمل مالسبب
# Write your MySQL query statement below
select product_id, IF ( max(change_date) <= '2019-08-16',new_price, 10) as price from Products
group by product_id
عندي اكواد بايثون في الدروس يصعب عند التطبيق فتح ملف وورد ونسخ الاكواد وتاخذ وقت طويل في الدرس
ابي اعمل صفحة html تحتوي على زر نسخ الكود و الكود لعدة امثلة ببرنامج ويب اكسبريشن كذلك عنوان لكل مثال
وعليكم السلام ورحمة الله وبركاته.
نحن هنا على موقع الأكاديمية لا نقوم بحل أسئلة الإختبارات ولكن نستطيع إرشادك إلى الحل الصحيح .
لاحظ المشكلة لديك في الإستعلام أنك تقوم بوضع شرط إذا كان أقصى تاريخ للتعديل أقل من أو يساوي '2019-08-16' فهنا أنت ستأخذ قيمة new_price وإلا فسيتم وضع قيمة 10 تلقائيا .
الخطأ في الشرط عندما يكون قيمة max(change_date) أكبر من '2019-08-16' ولكن المنتج لديه تعديل للسعر قبل هذا التاريخ هنا الإستعلام الخاص بك سيضع 10 بدلا من أخذ السعر قبل التاريخ '2019-08-16' .
وأيضا يوجد خطأ أخر لديك أنه في MAX() تستخدمها لتحديد آخر تاريخ تعديل، ولكن العمود new_price غير مجمع أى أن mysql لا تستطيع التعامل معه وتجميعه إذا كان هناك أكثر من حقل له نفس ال product_id . و هذا يؤدي إلى نتائج غير متوقعة لأن قيمة new_price لن تتوافق مع تاريخ التعديل المحدد.
لذلك يجب عليك في الحل أولا البحث عن التواريخ التي أقل من أو تساوي '2019-08-16' وحينها تأخذ قيمة new_price لأعلي تاريخ .
أما إذا كان هنا منتج لا توجد لديه تعديلات قبل تاريخ '2019-08-16' فإذا تضع رقم 10.
وعليكم السلام ورحمة الله وبركاته .
إن المساهمات هي عدد التعليقات التي تم وضعها من قبلك . فمثلا بالنسبة لي فإن هذا التعليق يعتبر مساهمة لي . و سؤالك الحالي يعتبر مساهمة لكي.
أما المتابعين فهي عدد الأشخاص الذين قاموا بمتابعة الحساب الخاص بكي . ستجدين أنه يمكنكي متابعة الأشخاص هنا على الأكاديمية وبمجرد متابعة شخص لكي ستجدين أنه تم إضافته إلى قائمة المتابعين الخاصة بكي . وبمتابعة أى شخص ستحصلين على إشعارات بمجرد قيام هذا الشخص بنشر مساهمة سواء كان سؤال أو تعليق .
أما السمعة فهي عدد الإعجابات التي حصلتي عليها . فلاحظي مثلا أني قمت بالإعجاب بسؤالك وهكذا ستجدين أن السمعة لديكي قد زادت بمقدار 1 وهو الإعجاب الذي حصلتي عليه من هذا السؤال.
أما الرتبة فهي حاليا عضو مبتدئ وبمجرد حصولك على سمعة كثيرة وعدد مساهمات أكثر ستحصلين على رتب أعلى مع الوقت.
عند كتابه كود اذا لمس اللون الاسود يتراجع خطوتان يتخطي الجدار حاولت معالجتها وجعلت السرعه 1 ترتب علي هذا انه بدا المجسم التحرك عكس الاتجاه عند ملامسه الون اريد حل لهذه المشكله باسرع وقت ارجوكم
المشكلة في استعلامك هو أنه يتحقق فقط من أقصى تاريخ، بينما المطلوب هو الحصول على آخر سعر قبل التاريخ المحدد لذا عدله للتالي:
SELECT product_id,
COALESCE(
(SELECT new_price
FROM Products p2
WHERE p2.product_id = p1.product_id
AND p2.change_date <= '2019-08-16'
ORDER BY change_date DESC
LIMIT 1),
10
) as price
FROM Products p1
GROUP BY product_id;
بحيث نستخدم استعلام فرعي للحصول على آخر سعر قبل '2019-08-16' و COALESCE يرجع 10 إذا لم يجد سعرا قبل التاريخ المحدد
وأخيرا ORDER BY change_date DESC LIMIT 1 يجلب أحدث سعر.
بالنسبة ل KaplanMeierFitter تستخدم هذه الطريقة لتقدير دالة البقاء بشكل غير مُعلَّم، حيث تعمل Kaplan-Meier على حساب احتمالية بقاء الأفراد في الدراسة لفترة زمنية معينة مع الأخذ في الاعتبار حالات الرقابة، وهي مناسبة لتحليل بيانات البقاء البسيطة عند عدم وجود متغيرات مستقلة.
لدينا أيضا CoxPHFitter تعتمد هذه الطريقة على نموذج الانحدار النسبي للمخاطر، وهو نموذج شبه مُعلَّم يُستخدم لتقييم تأثير المتغيرات المستقلة على وقت البقاء، و يتيح هذا النموذج تحليل العلاقات بين الوقت والبقاء من جهة، والمتغيرات التفسيرية من جهة أخرى.
أما logrank_test فتستخدم هذه الأداة لإجراء اختبار إحصائي لمقارنة دوال البقاء بين مجموعتين أو أكثر. يعمل الاختبار على تقييم الفرضية الصفرية التي تفترض عدم وجود فرق بين المجموعات من حيث دالة البقاء، و يتم استخدام هذا الاختبار عندما ترغب في مقارنة بيانات البقاء بين مجموعات دون الحاجة إلى نموذج أكثر تعقيدًا.
لذا يمكن القول أن KaplanMeierFitter يستخدم لتقدير البقاء، CoxPHFitter لتحليل تأثير المتغيرات، و logrank_test للمقارنة الإحصائية بين المجموعات.
يستخدم CoxPHFitter كنموذج تناسبي لتحليل تأثير المتغيرات المستقلة على زمن البقاء، حيث يمكنه التعامل مع متغيرات متعددة ويعطي معلمات تتعلق بخطر الحدث من جهة أخرى يستخدم KaplanMeierFitter لتقدير ورسم منحنيات البقاء بناء على بيانات البقاء مما يتيح للمستخدم رؤية احتمالية البقاء مع مرور الوقت أما logrank_test فهو اختبار إحصائي يستخدم لمقارنة منحنيات البقاء بين مجموعتين أو أكثر، لتحديد ما إذا كانت هناك اختلافات ذات دلالة إحصائية في زمن البقاء.
يمكن اعتبار CoxPHFitter نموذجا يستخدم لفهم كيف تؤثر عوامل معينة مثل العمر أو الجنس أو نوع العلاج على الوقت حتى حدوث حدث معين مثل الوفاة أو الانتكاسة بحيث يمكننا من خلاله معرفة أي العوامل لها تأثير أكبر على البقاء.
بينما KaplanMeierFitter تستخدم لرسم منحنى يُظهر كيف تتغير احتمالية البقاء بمرور الوقت في حين يستخدم logrank_test يستخدم عندما نريد مقارنة مجموعتين لمعرفة ما إذا كانت هناك اختلافات في أوقات البقاء مثلا إذا كان لدينا مجموعتين من المرضى يتلقون علاجات مختلفة، يمكننا استخدام هذا الاختبار لمعرفة ما إذا كان أحد العلاجين أفضل من الآخر.
المشكلة أنك تقوم بإنشاء النموذج وتمرير البيانات له ولكن لا تقوم بعرضه قبل إغلاق النموذج الحالي لذا يجب استدعاء Show() أو ShowDialog() لعرض النموذج الجديد:
this.Close();
وهذا خطأ لأنه يغلق النافذة قبل عرض البيانات والحل هو إضافة Show() قبل إغلاق النموذج الحالي:
BUYBILL frm = new BUYBILL();
frm.show_details(dataGridView1.CurrentRow.Cells[1].Value.ToString());
frm.Show();
this.Close();
أو:
BUYBILL frm = new BUYBILL();
frm.show_details(dataGridView1.CurrentRow.Cells[1].Value.ToString());
frm.ShowDialog();
this.Close();