البرمجة

تحليل بيانات الأميال بتراكمية الشهور في SQL

لفهم المطلوب بشكل أفضل، يبدو أنك ترغب في إنشاء مجموع تراكمي للبيانات بحيث يتم حساب المجموع التراكمي لكل شهر استنادًا إلى البيانات الشهرية لكل فئة من البيانات. على سبيل المثال، إذا كان لديك بيانات عن عدد الأميال لكل شهر، تريد حساب المجموع التراكمي لهذه الأميال حتى نهاية كل فترة زمنية (شهر). يبدو أن هذا ما تحاول تحقيقه في SQL Server 2008 R2.

لتحقيق ذلك، يمكنك استخدام نافذة التحليل النافذة (Windowing Functions) وتحديد ROWS UNBOUNDED PRECEDING للحصول على المجموع التراكمي. ومن ثم، يمكنك استخدام الدالة SUM() لحساب المجموع التراكمي للأميال بناءً على البيانات الشهرية.

فيما يلي مثال على كيفية تحقيق ذلك في T-SQL:

sql
SELECT Mileage, SUM(January) OVER (ORDER BY Mileage ROWS UNBOUNDED PRECEDING) AS January_Total, SUM(February) OVER (ORDER BY Mileage ROWS UNBOUNDED PRECEDING) AS February_Total, -- continue for the rest of the months SUM(December) OVER (ORDER BY Mileage ROWS UNBOUNDED PRECEDING) AS December_Total FROM YourTableName

هذا الاستعلام سيقوم بحساب المجموع التراكمي للأميال لكل شهر، حيث سيتم ترتيب البيانات حسب الأميال وسيتم حساب المجموع التراكمي باستخدام دالة SUM() ونافذة التحليل ROWS UNBOUNDED PRECEDING.

يمكنك استبدال “YourTableName” بالجدول الخاص بك الذي يحتوي على البيانات، والتعديل على أسماء الأعمدة حسب البيانات الفعلية التي لديك.

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

المزيد من المعلومات

بالطبع، سأواصل توسيع المقال لتوضيح العملية بشكل أفضل.

لتطبيق الاستعلام الذي تم تقديمه في الجزء السابق، يجب أن نفهم بعض النقاط الهامة:

  1. نافذة التحليل (Windowing Functions): هذه الدوال تتيح لنا إمكانية إجراء العمليات التحليلية مثل الجمع التراكمي، والمتوسطات المتحركة، وغيرها، داخل الاستعلام نفسه، دون الحاجة إلى الاستعلامات الفرعية أو الاستعلامات المشتقة.

  2. ROWS UNBOUNDED PRECEDING: هذا الجزء من الاستعلام يحدد نطاق البيانات التي سيتم استخدامها في حساب المجموع التراكمي. باستخدام “ROWS UNBOUNDED PRECEDING”، يتم احتساب المجموع التراكمي من بداية البيانات وحتى الصف الحالي.

  3. SUM(): هذه الدالة تستخدم لحساب المجموع التراكمي للقيم المحددة. في هذه الحالة، سيتم استخدام SUM() لحساب المجموع التراكمي للأميال حتى نقطة زمنية محددة (شهر).

  4. ORDER BY: يحدد ترتيب البيانات الذي يتم استخدامه لحساب المجموع التراكمي. في هذا الاستعلام، نقوم بترتيب البيانات حسب الأميال.

لفهم كيف يعمل الاستعلام بشكل أكبر، لنفترض أن لدينا البيانات التالية:

Mileage January February March
0 0.1 0.2 0.3
1000 0.4 0.5 0.6
2000 0.7 0.8 0.9

باستخدام الاستعلام السابق، سيتم حساب المجموع التراكمي للأميال لكل شهر كالتالي:

  • في يناير، المجموع التراكمي سيكون 0.1 لأن الأميال للصف الأول هي 0.
  • في فبراير، المجموع التراكمي سيكون 0.3 (0.1 + 0.2) لأن الأميال للصف الثاني هي 1000.
  • في مارس، المجموع التراكمي سيكون 1.5 (0.1 + 0.2 + 0.3) لأن الأميال للصف الثالث هي 2000.

هذا الاستعلام يوفر لك القدرة على حساب المجموع التراكمي للبيانات بسهولة وفعالية في SQL Server 2008 R2، مما يساعد في تحليل البيانات بشكل أفضل واتخاذ القرارات المستنيرة استنادًا إلى البيانات التاريخية.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر