Monday 1 January 2018

Pl - sql الحركة من المتوسط


كان هناك سؤال لطيف على أوتن اليوم حول ما إذا كان هناك وظيفة أوراكل القياسية لحساب المتوسط ​​المتحرك الأسي الجواب هو أنه لا يوجد مثل هذه الدالة، ولكن مع شرط النموذج، يمكنك حساب من السهل جدا، ولها مثال عظيم من ما أعنيه مع عدد متغير من الحسابات على أساس القيم المحسوبة، وكتب في الجزء الثالث من نموذج تعليمي البند. قبل اليوم، لم أكن أعرف حتى ما هو المتوسط ​​المتحرك الأسي كان بالضبط يمكنك قراءة المزيد عن ذلك هنا على ويكيبيديا أو هنا مع مثال لطيف من الرابط الأول. المتوسط ​​المتحرك الأسي إما، ينطبق عوامل الترجيح التي تنخفض أضعافا مضاعفة ترجيح ترجيح لكل نقطة البيانات القديمة أضعافا مضاعفة، وإعطاء أهمية أكبر بكثير إلى الملاحظات الأخيرة في حين لا تزال لا تجاهل الملاحظات القديمة تماما. من الارتباط الثاني. الصيغة لحساب المتوسط ​​المتحرك الأسي هو. X إما الحالي أي إما ليتم حسابها. C قيمة البيانات الأصلية الحالية. K تجانس C onstant. P السابق إما. أول إما في النطاق الذي سيتم حسابه هو تعسفي ويمكن أن تكون قيمة البيانات الأصلية المقابلة أو، في كثير من الأحيان، متوسط ​​متحرك بسيط value. K تمهيد ثابت 2 1 n. And هذه الصيغة تليها مثال الذي امتدت قليلا، باستخدام هذا الجدول. السجلات من المنتج أ تطابق المثال في الارتباط أنا تتكون الأرقام من المنتج ب هنا الاستعلام شرط النموذج الذي ينفذ الصيغة لاحظ كيفية ترجمة الصيغة مباشرة إلى قاعدة واحدة فقط من بند نموذج و يتم تعيين تمهيد ثابت K إلى 5، استنادا إلى نافذة القيم ن المساواة 3.Challenge محاولة هذا دون شرط نموذج ومعرفة ما إذا كان يمكنك الخروج بشيء أكثر شمولا 11 2 الميزات في use. with دات كما حدد تاريخ المنتج 2009-01-01 الشهر، 10 المبلغ من الاتحاد المزدوج كل حدد A، تاريخ 2009-02-01، 15 من الاتحاد المزدوج كل حدد A، تاريخ 2009-03-01، 17 من الاتحاد المزدوج كل حدد A، تاريخ 2009-04 -01، 20 من الاتحاد المزدوج كل حدد A، تاريخ 2009-05-01، 22 من الاتحاد المزدوج كل حدد A، تاريخ 2009-06-01، 20 من اتحاد مزدوج كل حدد A، تاريخ 2009-07-01، 25 من اتحاد مزدوج كل حدد A، تاريخ 2009-08-01، 27 من ثنائي إتحاد كل حدد A، تاريخ 2009- 09-01، 30 من دوال ونيون آل سيليكت A، ديت 2009-10-01، 35 فروم دوال ونيون آل سيليكت A، ديت 2009-11-01، 37 فروم دوال ونيون آل سيليكت A، ديت 2009-12-01، 40 من الاتحاد المزدوج كل اختيار B، تاريخ 2009-01-01، 0 من الاتحاد المزدوج كل حدد B، تاريخ 2009-02-01، 50 من الاتحاد المزدوج كل حدد B، تاريخ 2009-03-01، 10 من الاتحاد المزدوج كل حدد ب، تاريخ 2009-04-01، 40 من اتحاد مزدوج كل اختيار ب، تاريخ 2009-05-01، 15 من اتحاد مزدوج كل اختيار ب، تاريخ 2009-06-01، 35 من اتحاد مزدوج كل حدد ب، تاريخ 2009- 07-01، 30 من اتحاد مزدوج كل اختيار B، تاريخ 2009-08-01، 30 من اتحاد مزدوج كل حدد B، تاريخ 2009-09-01، 20 من اتحاد مزدوج كل حدد ب، تاريخ 2009-10-01، 20 من الاتحاد المزدوج كل اختيار B، تاريخ 2009-11-01، 20 من الاتحاد المزدوج كل حدد B، تاريخ 2009-12-01، 20 من المزدوج، رنس كما رونومبر المحدد على التقسيم حسب ترتيب المنتج حسب الشهر رن - 2 1 العد على التقسيم حسب المنتج k 0 5 k من دات، منتج ريس، شهر، كمية، رن، x كما حدد x من رنس r حيث رن 1 ونيون آل سيليكت - إس x إس شكس من رنس نس، ريس إس حيث 1 وحدد المنتج والشهر والمبلغ، رن، جولة س، 3 إما من ترتيب ريس من قبل المنتج، month. after حساب شكل مغلق خرجت مع التعليمات البرمجية التالية أنه إذا أشبه التشويش من أي شيء شامل الفكرة هي خلق تشغيل مضاعفات باستخدام سلسلة تسلسل و شمل-إيفال-فونكتيوناليتي الأشكال المغلقة من الحالات الخاصة تحتاج فقط تشغيل sums. There سا حالة عامة واثنين من الحالات الخاصة التي هي أسهل بكثير. مع t1 كما حدد المنتج، والشهر، والمبلغ، والمبلغ سي، وأقل من التقسيم حسب ترتيب المنتج عن طريق الشهر رن، - 2 1 ترقيم أكثر من التقسيم حسب ترتيب المنتج عن طريق الشهر كي 0 5 كي من المبيعات، T2 كما حدد المنتج والشهر والمبلغ والحالة عندما رن 1 ثم 1 آخر كي نهاية سي منظمة العفو الدولية، حالة عندما رن 1 ثم 1 آخر 1 - كي نهاية بي من t1، t3 كما سيليكت برودو كت، مونث، أمونت، أي، زملكيري ريبلاس ومكونكات بي أوفر بارتيتيون حسب ترتيب المنتج بالصفوف بين الصف السابق وغير المتجاور، و، إعادة ميل من t2، t4 كمنتج محدد، شهر، كمية، مي، أي مي شي من t3 سيليكت المنتج، الشهر، المبلغ، الجولة مي سوم إكسي على الجزء حسب ترتيب المنتج بالصفوف بين الصف السابق وغير المتضمنة، 3 إما من t4.Special كيس K 0 5. مع t1 كما حدد المنتج والشهر والمبلغ، رونومبر أكثر من التقسيم من خلال ترتيب المنتج عن طريق الشهر رن، كمية الطاقة 2، نفل نوليف رونومبر أكثر من التقسيم حسب ترتيب المنتج عن طريق الشهر - 1، 0، 1 سي من المبيعات حدد المنتج، الشهر، المبلغ، الجولة سي المبلغ الإجمالي على قسم حسب ترتيب المنتج من خلال الصفوف الشهرية بين غير محدود (1) مع t1 المنتج المحدد، الشهر، المبلغ، تجاوز عدد التقسيم حسب ترتيب المنتج عن طريق الشهر رن، المبلغ الذي يزيد على التقسيم حسب ترتيب المنتج حسب الشهر سي من المبيعات حدد المنتج، الشهر، المبلغ، جولة سي المبلغ على بارتيت أيون حسب ترتيب المنتج من خلال الصفوف الشهرية بين الصف السابق وغير الحالي غير محدود 2 رن رن 1، 3 إما من t1.I ليرة لبنانية بعد إثبات النموذج المغلق إذا كان أي شخص مهتم في ذلك. هذا هو مثال عظيم من المرح مع SQL. A مزيج من شملكيري و ومكونكات غير الموثقة، والدوال التحليلية مع شرط النافذة أنا أحب ذلك على الرغم من أنها ليست شاملة مثل البديل شرط نموذج و رافو ق عودية مع واحد، كما قلت نفسك. و بالتأكيد، أنا أحب أن أرى دليل على شكل مغلقة. عالجت مسألة أخرى كيفية تحسين ثابت تجانس. سيليكت k - تمهيد ثابت مس - يعني خطأ مربع من سيليكت فروم المبيعات نموذج البعد حسب المنتج رونومبر أوفر بارتيتيون من أجل المنتج في الشهر أسك رن التدابير مبلغ - كمية المبيعات الشهر - الشهر 0 أس C 0 أس P 0 أس X 0 أس سي - خطأ مربع - - صف وسمات العمل - صف العمل هو المنتج X، رن 1 - b سمات العمل هي يتبع 0 أس سس - سوم سي لجميع المنتجات أشهر 0 أس مس - يعني سس لجميع بيأر شهر أسد 0 أس k - لجميع أشهر المنتجات 0 أس بريمز - قبل كس مس لجميع أشهر المنتجات 0 أس ديف - بين مس الحالي و قبل 0 1 أس دلتا - زيادة أولية 0 أس مسبقة - نقطة البداية الأولية - - القواعد إيتيريت 99 ونتيل عبس ديف A، 1 0 00010 C أني، رن أمونت كف، كف كا، 1 بريسبت A، 1 دلتا A، 1 X أني، رن أوردر بي برودوكت، رن أسك كواليس كا، 1 C كف، كف 1 - KA، 1 X كف، كف -1، C كف، كف P المنتج، رن X كف، كف -1 سي المنتج، رن الطاقة C كف، كف - X كف، كف -1، 2 سس A، 1 سوم سي أني أي مس 1 A و 1 سوم سي أي و 24 ديف A و 1 حالة تكرار العدد عند 0 ثم نول إلس بريمز A و 1-مس A و 1 إند بريمز A و 1 مس A و 1 دلتا A و 1 كيس عندما ديف A، 1 0 ثين-أبس دلتا A، 1 2 إلس عبس دلتا A، 1 إند بريبرت A، 1 كا، 1 حيث المنتج A و رن 1 K مس ---------- -------- - 599999237 174 016094. مجموعتك من قبل هو ما يجمع المتوسط ​​الخاص بك، وأنه هو تجميع من الجدول بأكمله أنا على افتراض فعلت هذا للسماح لاختيار لكل شيء مجرد تحرك الخاص بك إلى طلب بحث آخر، وإزالة المجموعة الشاملة من قبل والتي يجب حلها. عندما تقوم بتشغيل بيان التكلفة سيليكت أفغ الأساسية فمن الطبيعي تجميع حسب العمود المحدد التكلفة في هذه الحالة وهذا هو ما كنت أطلب أنا أقترح قراءة المزيد على المجموعة بي والمجاميع إلى الحصول على فهم أفضل على مفهوم التي ينبغي أن تساعدك أكثر من مجرد حل بسيط. الجواب أدناه هو في الواقع من جواب داود s فإنه يجعل استخدام وظائف تحليلية أساسا، ما يحدث هو أنه على كل مكالمة أفغ، كنت تقول المحرك ما لاستخدامه في وظيفة في هذه الحالة، لا شيء وريتينوب لائقة على وظائف تحليلية يمكن العثور عليها هنا وهنا وأكثر مع جوجل على هذه المسألة. ومع ذلك، إذا كان محرك سكل الخاص بك يسمح للمتغيرات، هل يمكن بسهولة كما تفعل أدناه الجواب أنا فعلا أفضل هذا لقراءة قابلية الصيانة في المستقبل والسبب هو أن متغير مع اسم جيد يمكن أن يكون وصفي جدا للقراء في المستقبل من التعليمات البرمجية، مقابل وظيفة تحليلية لا تتطلب قليلا مور e لقراءة خاصة إذا كنت لا تفهم وظيفة أكثر. أيضا، هذا الحل مكررة نفس الاستعلام مرتين، لذلك قد يكون من المفيد تخزين المتوسط ​​الخاص بك في متغير سكل ثم كنت كا تغيير البيان الخاص بك ببساطة لاستخدام هذا المتوسط ​​العالمي. هذا هو المتغيرات في سكل خادم سيكون لديك للتكيف مع مثيل الخاص بك من SQL. This الحل سوف يقرأ الكثير من الأنظف للقراء في المستقبل من سكل الخاص بك، أيضا. أنا م متأكد من الاستعلام ديفيد s هو على الأقل كفاءة و لا تتطلب استخدام كتلة بل سكل الذي يتطلب منك وضع نتيجة سيليكت في المتغيرات - لن يتم عرضه بالطريقة التي كتبتها في الواقع أعتقد أنه لن ر حتى تشغيل وإلى جانب الاستعلام المكرر سيتم تشغيلها مرة واحدة فقط بواسطة أوراكل أنا م متأكد من محسن ذكي بما فيه الكفاية للكشف عن أن أهورسيويثنونام مارس 10 12 في 16 21.I نقدر التفسير الخاص بك، ولكن بل بل كتلة سكل هو ببساطة خطأ هذا النهج لن تعمل أبدا في أوراكل إذا كنت لا تريد أن أكرر أفغ الاستعلام، استخدم النهج مع t انه وظيفة تحليلية أو الصليب الانضمام حل أهورسيويثنونام مار 10 12 في 16 29.Using متوسط ​​متحرك بسيط لتسهيل البيانات هو تقنية شعبية إلى حد ما انها سيئة للغاية المثال الأساسي في مساعدة سكل في أي مكان أبعد ما تكون عن البساطة ما يجعل هذا المثال معقد جدا إلى جانب بيان المشكلة، وهذا هو حساب المتوسط ​​المتحرك لجميع مبيعات المنتجات، حسب الشهر، في عام 2000.Hre ق ما يجعلها تعقيدا. المراجع إلى أفغ function. a المجموعة التي كل ما في حد ذاته يجعل فقط عن أي سيليكت هيد-سكراتشر. شرط نافذة الشبح. شروط نافذة لا تستخدم حتى الكلمة ويندو ذلك لغير أونينيتاتد الناس الذين يحتاجون إلى أمثلة أكثر من أي شخص آخر فإنه ليس من الواضح أن نافذة تشارك في all. Not فقط أي بند نافذة، والعقل لك، ولكن واحد الذي يتضمن كل مكون واحد يمكنك التعليمات البرمجية في بند ويندو. أ الجزء ب. أ رانج ليس شرط بسيط روز ولكن كامل شرط رانج، واحد له علاقة حميمة مع أوردر بي أعرف ما هو صف، ولكن ما هو ريداكتد هو RANGE. but الانتظار، هناك s أكثر اختيار رانج فوق الصفوف في هذا المثال هو أمر حاسم للتشغيل الصحيح للاستعلام لإجراء مناقشة أكثر اكتمالا لهذا المثال بالذات، انظر المثال 23 - حساب المتوسط ​​المتحرك في أول ورقة بيضاء أولين جلين باولي الآن، دعونا نعود على المسار. المتوسط ​​المتحرك بسيط حقا حقا. المثال التالي يعرض 10 يوما قيمة البيانات جنبا إلى جنب مع المتوسط ​​المتحرك لقيمة اليوم والأمس ق شرط ويندو على خطوط 21 إلى 23 تعريف نافذة متحرك تحتوي على صفين صف اليوم الصف الحالي والأمس صف 1 بريسدينغ. يحدد ترتيب النافذة حسب البند ما بريسدينغ يعني الصف السابق بواسطة و. القائمة روس يحدد حجم النافذة دائما صفين. التعبير يشير أفغ أوفر اليوم على الخط 19 إلى شرط ويندو بالاسم، ويخبر سكل في أي مكان لحساب متوسط ​​القيمتين الموجودتين في نافذة انزلاق الصفين، لكل صف في مجموعة النتائج. لذلك، بالنسبة لعام 2012 -02-02 متوسط ​​10 و 20 هو 15 000000. في 2012-02-03 متوسط ​​20 و 10 هو 15 000000.for 2012-02-04 متوسط ​​10 و 30 هو 20 000000.for 2012-02 -10 متوسط ​​10 و 60 هو 35 000000.Oops، ماذا عن الصف الأول. صف 2012-02-01 لا يوجد صف بريسدينغ، لذلك ما هو المتوسط ​​على النافذة المتحركة. وفقا ل غلين بولي الأبيض ورقة في حالة نافذة متحركة، يفترض أن الصفوف التي تحتوي على قيم نول موجودة قبل الصف الأول، وبعد الصف الأخير، في إينبو t. وهذا يعني عندما يكون الإطار المتحرك 2012-02-01 كما رو الحالي، الصف 1 بريسدينغ يحتوي على قيم نول وعندما يحسب سكل في أي مكان أفغ الذي يتضمن قيمة نول، لا تعول نول على الإطلاق ليس في البسط أو في المقام عند حساب المتوسط ​​هنا S برهان هذا هو السبب في توديايافيريتي 10 000000 للصف الأول 2012-02-01.Posted من قبل بريك كارتر في 3 47 بيإم.

No comments:

Post a Comment