N - اليوم - الأسي الحركة من المتوسط


حاسبة المتوسط ​​المتحرك الأسي بالنظر إلى قائمة مرتبة من نقاط البيانات، يمكنك إنشاء المتوسط ​​المتحرك المرجح أضعافا مضاعفة لجميع النقاط حتى النقطة الحالية. في المتوسط ​​المتحرك الأسي (إما أو إوما لفترة قصيرة)، فإن الأوزان تنخفض بعامل ثابت 945 مع تقدم الشروط. وكثيرا ما يستخدم هذا النوع من المتوسط ​​المتحرك التراكمي عند رسم أسعار الأسهم. الصيغة العودية ل إما هي حيث x اليوم هي نقطة السعر الحالية اليوم و 945 هو ثابت ما بين 0 و 1. في كثير من الأحيان، 945 هو وظيفة لعدد معين من الأيام N. الوظيفة الأكثر شيوعا هو 945 2 (N1). على سبيل المثال، إما 9 أيام من تسلسل لديها 945 0.2، في حين إما 30 يوما لديها 945 231 0.06452. لقيم 945 أقرب إلى 1، يمكن تهيئة تسلسل إما في EMA8321 x8321. ومع ذلك، إذا كان 945 صغيرا جدا، فإن المصطلحات الأولى في التسلسل قد تتلقى وزنا لا لزوم له مع هذه التهيئة. لتصحيح هذه المشكلة في إما n-داي، يتم تعيين المصطلح الأول لتسلسل إما ليكون المتوسط ​​البسيط للشروط 8968 الأولى (N-1) 28969، وبالتالي، تبدأ إما في اليوم رقم 8968 (N-1 ) 28969. على سبيل المثال، في المتوسط ​​المتحرك الأسي لمدة 9 أيام، EMA8324 (x8321x8322x8323x8324) 4. ثم EMA8325 0.2x8325 0.8EMA8324 و EMA8326 0.2x8326 0.8EMA8325 الخ باستخدام المحللين الأسي المتوسط ​​التحليلي الأسهم غالبا ما ننظر إما و سما (المتوسط ​​المتحرك البسيط) لأسعار الأسهم لاحظ الاتجاهات في الارتفاع والسقوط أو الأسعار، ومساعدة فإنهم يتوقعون السلوك في المستقبل. ومثل كل المتوسطات المتحركة، فإن المستويات المرتفعة والهبوطية للرسم البياني إما ستتخلف عن ارتفاعات وأدنى البيانات الأصلية التي لم تتم تصفيتها. وكلما ارتفعت قيمة N، فإن أصغر 945 سيكون وأكثر سلاسة الرسم البياني سيكون. إلى جانب المتوسطات المتحركة التراكمية المرجح أضعافا مضاعفة، يمكن للمرء أيضا حساب المتوسطات المتحركة التراكمية المرجحة خطيا، والتي تنخفض فيها الأوزان خطيا مع نمو المصطلحات القديمة. انظر مقالة المتوسط ​​المتحرك التراكمي الخطي والتربيعي المكعب وآلة حاسبة. المعدل صحيح نطاق جدول البيانات 038 تعليمي اكتشف كيف يستخدم المتداولون متوسط ​​المدى الحقيقي كمؤشر وقف الخسارة في شراء استراتيجيات بيع الأمبير، ومعرفة كيفية حسابه في إكسيل. مجموعة الأسهم 8217s هي الفرق بين الحد الأقصى والحد الأدنى للسعر في أي يوم واحد، وغالبا ما يستخدم كمؤشر على التقلبات. ومع ذلك، غالبا ما يتم إيقاف التداول إذا زادت األسعار أو انخفضت بمقدار كبير في أي يوم واحد. ويالحظ ذلك أحيانا في تجارة السلع، ويمكن أن يؤدي إلى فجوة بين أسعار االفتتاح واإلغالق بين يومين متتاليين. لن یستطیع النطاق الیومي بالضرورة التقاط ھذه المعلومات. J. ويليس وايلدر قدم النطاق الحقيقي ومتوسط ​​النطاق الحقيقي في عام 1978 لوصف هذا السلوك بشكل أفضل. النطاق الحقيقي يلتقط الفرق بين إغلاق وفتح الأسعار بين يومين متتاليين. النطاق الحقيقي هو الأكبر من الفرق بين إغلاق أمس 8217s واليوم 8217s انخفاض الفرق بين إغلاق أمس 8217s واليوم 8217s ارتفاع الفرق بين اليوم 8217s عالية واليوم 8217s منخفضة القيمة الأولية للمدى الحقيقي هو ببساطة ارتفاع اليومي ناقص انخفاض اليومي. متوسط ​​المدى الحقيقي (أتر) هو المتوسط ​​الأسي n-داي. ويمكن تقريبها بواسطة هذه المعادلة. حيث n هو نافذة المتوسط ​​المتحرك (عادة 14 يوما) و تر هو المدى الحقيقي. وعادة ما يتم تهيئة أتر (عند t 0) بمتوسط ​​زائدة ل n في اليوم من تر. متوسط ​​المدى الحقيقي لا يشير إلى اتجاه السوق، ولكن ببساطة التقلبات. المعادلة تعطي حركة السعر الأخيرة أهمية أكبر وبالتالي، فإنه يستخدم لقياس معنويات السوق. وعادة ما يستخدم لتحليل مخاطر اتخاذ موقف معين في السوق. طريقة واحدة للقيام بذلك هي التنبؤ الحركات اليومية على أساس القيم التاريخية أتر، ودخول أو الخروج من السوق وفقا لذلك. على سبيل المثال، قد يتم تعيين وقف الخسارة اليومي عند 1.5 أو 2 أضعاف متوسط ​​النطاق الحقيقي. وهذا يعطي حرية سعر الأصول لتغير طبيعيا خلال يوم التداول، ولكن لا يزال يحدد موقف خروج معقول. وعلاوة على ذلك، إذا كان متوسط ​​المدى الحقيقي العقود الحقيقية في حين تتجه الأسعار صعودا، فإن هذا قد يشير إلى أن معنويات السوق قد تتحول. جنبا إلى جنب مع البولنجر باندز. متوسط ​​المدى الحقيقي هو أداة فعالة لاستراتيجيات التداول القائمة على التقلبات. حساب متوسط ​​المدى الحقيقي في إكسيل يستخدم جدول بيانات إكسيل هذا أسعار الأسهم اليومية ل بب للسنوات الخمس من عام 2007 (تم تنزيلها باستخدام جدول البيانات هذا). يتم تعليم جدول البيانات بالكامل مع المعادلات والتعليقات للمساعدة في فهمك. ومع ذلك، فإن جدول البيانات التالي لديه الكثير من الذكاء. فإنه تلقائيا، مؤامرات متوسط ​​المدى الحقيقي، ومؤشر القوة النسبية والتقلب التاريخي من البيانات التي ينزل تلقائيا من ياهو المالية. يمكنك إدخال المعلومات التالية مؤشر الأسهم فترات حساب بداية ونهاية التاريخ ل أتر، رسي والتقلبات التاريخية بعد النقر على زر، ونقلت الأوراق المالية تحميل جدول البيانات من ياهو المالية (على وجه التحديد، المفتوحة يوميا، وثيقة، وارتفاع وانخفاض الأسعار بين التاريخين). ثم يقوم بتخطيط متوسط ​​المدى الحقيقي والتقلب التاريخي. It8217s بسيطة جدا لاستخدام I8217d أحب أن أسمع ما هو رأيك أو إذا كان لديك أي تحسينات you8217d مثل. 11 أفكار على لدكو متوسط ​​جدول صحيح المدى 038 تعليمي رديقو مثل جداول البيانات الحرة قاعدة المعارف الرئيسية المشاركات الأخيرة 22 سكل للتحليل والإبلاغ وقد عززت أوراكل قدرات معالجة سكل التحليلية من خلال إدخال عائلة جديدة من وظائف سكل التحليلية. هذه الوظائف التحليلية تمكنك من حساب: الترتيب والمئوية تحويل الحسابات نافذة الخطي الإحصاءات الانحدار وتشمل وظائف التصنيف التراكمي التوزيعات، رتبة المئة، و N - البلاط. تسمح لك حسابات النوافذ المتحركة بالبحث عن التجميعات المتحركة والتراكمية، مثل المبالغ والمتوسطات. يتيح تحليل لاغليد مراجع مباشرة بين الصفوف بحيث يمكنك حساب التغييرات من فترة إلى أخرى. تحليل فيرستلاست تمكنك من العثور على القيمة الأولى أو الأخيرة في مجموعة مرتبة. وتشمل التحسينات الأخرى ل سكل التعبير كيس والانضمام الخارجي مقسمة. تعبيرات حالة توفر إذا-المنطق ثم مفيدة في العديد من الحالات. التقسيم الخارجي المقسم هو امتداد لتركيب أنسي الخارجي الذي يسمح للمستخدمين بتكثيف بعض الأبعاد بشكل انتقائي مع إبقاء الآخرين متفرقين. ويتيح ذلك أدوات إعداد التقارير من أجل انتقاء الأبعاد بشكل انتقائي، على سبيل المثال، تلك التي تظهر في تقاريرها عبر الجداول مع إبقاء الآخرين متفرقين. ولتعزيز الأداء، يمكن موازاة الوظائف التحليلية: يمكن لعمليات متعددة تنفيذ كل هذه العبارات في وقت واحد. هذه القدرات تجعل الحسابات أسهل وأكثر كفاءة، وبالتالي تعزيز أداء قاعدة البيانات، والتدرجية، والبساطة. وتصنف الوظائف التحليلية على النحو المبين في الجدول 22-1. جدول 22-1 الوظائف التحليلية واستخداماتها لتنفيذ هذه العمليات، تقوم الدالات التحليلية بإضافة عدة عناصر جديدة إلى معالجة سكل. هذه العناصر بناء على سكل القائمة للسماح تعبيرات حساب مرنة وقوية. وباستثناءات قليلة فقط، فإن الوظائف التحليلية لها هذه العناصر الجديدة. يتم تمثيل تدفق المعالجة في الشكل 22-1. الشكل 22-1 ترتيب المعالجة المفاهيم الأساسية المستخدمة في الوظائف التحليلية هي: معالجة الاستعلام باستخدام الوظائف التحليلية تجري على ثلاث مراحل. أولا، كل ينضم، وير. يتم تنفيذ شروط المجموعة و هافينغ. ثانيا، يتم توفير مجموعة النتائج للوظائف التحليلية، وجميع حساباتهم تجري. ثالثا، إذا كان الاستعلام يحتوي على جملة أوردر بي في نهايته، تتم معالجة أوردر بي للسماح بترتيب إخراج دقيق. ويرد ترتيب المعالجة في الشكل 22-1. أقسام مجموعة النتائج تتيح الوظائف التحليلية للمستخدمين تقسيم مجموعات نتائج الاستعلام إلى مجموعات من الصفوف تسمى الأقسام. لاحظ أن المصطلحات المستخدمة مع الدالات التحليلية لا علاقة إلى ميزة أقسام الجدول. خلال هذا الفصل، يشير مصطلح الأقسام إلى المعنى المرتبط بالوظائف التحليلية فقط. يتم إنشاء أقسام بعد المجموعات المحددة مع بنود غروب بي، بحيث تكون متاحة لأي نتائج مجمعة مثل المبالغ والمتوسطات. قد تستند أقسام التقسيم إلى أي أعمدة أو تعبيرات مطلوبة. قد يتم تقسيم مجموعة نتائج الاستعلام إلى قسم واحد فقط يحمل كل الصفوف أو بعض الأقسام الكبيرة أو العديد من الأقسام الصغيرة التي تحتوي على عدد قليل من الصفوف لكل منها. لكل صف في قسم، يمكنك تعريف نافذة انزلاق البيانات. تحدد هذه النافذة مجموعة الصفوف المستخدمة لتنفيذ العمليات الحسابية للصف الحالي. يمكن أن تستند أحجام النوافذ إما إلى عدد فعلي من الصفوف أو الفاصل الزمني المنطقي مثل الوقت. يحتوي الإطار على صف البداية و صف النهاية. اعتمادا على تعريفها، نافذة قد تتحرك في واحد أو طرفي. على سبيل المثال، نافذة محددة لوظيفة المجموع التراكمي سيكون لها صف البداية التي تم تحديدها في الصف الأول من قسمها، و صف النهاية ينزلق من نقطة البداية على طول الطريق إلى الصف الأخير من القسم. وعلى النقيض من ذلك، فإن النافذة المحددة للمتوسط ​​المتحرك سيكون لها كلا من نقطتي البداية والنهاية تنزلق بحيث تحافظ على مدى ثابت أو منطقي ثابت. يمكن تعيين نافذة كبيرة مثل جميع الصفوف في قسم أو مجرد نافذة منزلقة من صف واحد داخل قسم. عندما تكون نافذة بالقرب من الحدود، تقوم الدالة بإرجاع النتائج للصفوف المتاحة فقط، بدلا من تحذيرك بأن النتائج ليست ما تريده. عند استخدام وظائف النافذة، يتم تضمين الصف الحالي أثناء العمليات الحسابية، لذا يجب تحديد فقط (ن -1) عند التعامل مع العناصر n. ويستند كل حساب مع وظيفة تحليلية على صف الحالي داخل قسم. يعمل الصف الحالي كنقطة مرجعية تحدد بداية ونهاية النافذة. على سبيل المثال، يمكن تعريف حساب متوسط ​​متحرك مركز بنافذة تحمل الصف الحالي، الصفوف الستة السابقة، والصفوف الستة التالية. وهذا من شأنه أن يخلق نافذة منزلقة من 13 صف، كما هو مبين في الشكل 22-2. الشكل 22-2 مثال على النافذة المنزلقة، وظائف النافذة، وإعداد التقارير يوضح هذا القسم الوظائف التحليلية الأساسية للترتيب والنافذة وإعداد التقارير. نموذج حساب الانحدار الخطي في هذا المثال، نقوم بحساب خط الانحدار العادي أقل المربعات التي تعبر عن الكمية المباعة للمنتج كدالة خطية من قائمة المنتجات. يتم تجميع الحسابات حسب قناة المبيعات. القيم سلوب. INTCPT. رسكر هي المنحدر، اعتراض، ومعامل تحديد خط الانحدار، على التوالي. القيمة كونت (العدد الصحيح) كونت هي عدد المنتجات في كل قناة تتوفر لكلا من الكمية المعروضة وبيانات قائمة الأسعار. المجاميع الإحصائية توفر أوراكل مجموعة من الدالات الإحصائية سكل ومجموعة إحصائية، دبستاتفونكس. يسرد هذا القسم بعض الوظائف الجديدة جنبا إلى جنب مع بناء الجملة الأساسي. إحصائيات وصفية يمكنك حساب الاحصاءات الوصفية التالية: متوسط ​​لمجموعة وضع البيانات لمجموعة بيانات يمكنك حساب الاحصاءات البارامترية التالية: معامل سبيرمانز رو معامل كندالز تاو-ب بالإضافة الى الوظائف، هذا الاصدار يحتوي على حزمة بلسكل، دبمستاتفونكس . أنه يحتوي على الدالة الإحصائية الوصفية سوماري جنبا إلى جنب مع وظائف لدعم تركيب التوزيع. تلخص الدالة سوماري العمود العددي من جدول مع مجموعة متنوعة من الإحصاءات الوصفية. وظائف توزيع التوزيع خمسة تدعم العادي، موحدة، ويبول، بواسون، والتوزيعات الأسية. المجاميع المعرفة من قبل المستخدم توفر أوراكل منشأة لإنشاء وظائفك الخاصة، وتسمى الوظائف المجمعة المعرفة من قبل المستخدم. تتم كتابة هذه الوظائف في لغات البرمجة مثل بلسكل، جافا، و C، ويمكن استخدامها كدالات تحليلية أو المجاميع في وجهات نظر مادية. راجع دليل مطوري بيانات خرطوشة بيانات قاعدة بيانات أوراكل للحصول على مزيد من المعلومات حول بناء الجملة والقيود. مزايا هذه الوظائف هي: وظائف معقدة للغاية يمكن برمجتها باستخدام لغة إجرائية تماما. زيادة قابلية التوسع من التقنيات الأخرى عندما يتم برمجة وظائف المعرفة من قبل المستخدم للمعالجة المتوازية. يمكن معالجة أنواع بيانات الكائنات. كمثال بسيط لوظيفة تجميع المعرفة من قبل المستخدم، والنظر في الإحصاء الانحراف. يقيس هذا الحساب إذا كان لمجموعة البيانات توزيع غير متوازن حول متوسطها. وسوف اقول لكم إذا ذيل واحد من التوزيع هو أكبر بكثير من الآخر. إذا قمت بإنشاء مجمع معرفة من قبل المستخدم يسمى أودسكو وتطبيقه على بيانات حد الائتمان في المثال السابق، قد تبدو عبارة سكل والنتائج على النحو التالي: قبل بناء وظائف تجميع المعرفة من قبل المستخدم، يجب عليك مراعاة ما إذا كان يمكن تلبية الاحتياجات الخاصة بك في سكل العادية. العديد من العمليات الحسابية المعقدة ممكنة مباشرة في سكل، خاصة باستخدام تعبير كيس. سوف البقاء مع سكل العادية تمكين التنمية أبسط، والعديد من عمليات الاستعلام بالفعل متوازية بشكل جيد في سكل. حتى المثال السابق، إحصائية الانحراف، يمكن إنشاؤها باستخدام القياسية، وإن كان مطولا، سكل. عمليات المحورية غالبا ما تكون الاستفسارات المتعلقة بذكاء الأعمال هي الأكثر استخداما إذا تم تقديمها في شكل جدولي. يسمح لك بيفوتكلوس من عبارة سيليكت بكتابة استعلامات جدول البحث التي تدور الصفوف في الأعمدة، تجميع البيانات في عملية دوران. ويعتبر المحورية تقنية رئيسية في مستودعات البيانات. في ذلك، يمكنك تحويل صفوف متعددة من المدخلات في صفوف أقل وعموما أوسع في مستودع البيانات. عند المحورية، يتم تطبيق عامل تجميع للتجميع لكل عنصر في قائمة قيم العمود المحوري. لا يمكن أن يحتوي العمود المحوري على تعبير تعسفي. إذا كنت بحاجة إلى المحورية على تعبير، فيجب عليك تسمية الاسم في طريقة عرض قبل عملية بيفوت. بناء الجملة الأساسي كما يلي: لتوضيح استخدام المحورية إنشاء العرض التالي كأساس لأمثلة لاحقة: مثال: المحورية يوضح العبارة التالية محور نموذجي على عمود القناة: لاحظ أن الإخراج قد خلق أربعة أعمدة مستعارة جديدة ، مبيعات مباشرة. INTERNETSALES. CATALOGSALES. و تليزاليس. واحد لكل من القيم المحورية. الإخراج هو المبلغ. إذا لم يتم توفير اسم مستعار، سيكون عنوان العمود قيم إن-ليست. المحورية على أعمدة متعددة يمكنك المحورية في أكثر من عمود واحد. يوضح البيان التالي محور نموذجي متعدد الأعمدة: لاحظ أن هذا المثال يحدد عمود متعدد إن - list مع عناوين الأعمدة المصممة لمطابقة أعضاء إن-ليست. المحورية: التجميعات المتعددة يمكنك المحورية مع مجموعات تجميع متعددة، كما هو موضح في المثال التالي: لاحظ أن الاستعلام ينشئ عناوين الأعمدة من خلال ربط القيم المحورية (أو الاسم المستعار) بالاسم المستعار لوظيفة التجميع، بالإضافة إلى تسطير أسفل السطر. تمييز نولس بيفوت من نولس في بيانات المصدر يمكنك التمييز بين القيم الفارغة التي يتم إنشاؤها من استخدام بيفوت وتلك الموجودة في بيانات المصدر. يوضح المثال التالي الخانات التي يولدها بيفوت. الاستعلام التالي بإرجاع الصفوف مع 5 أعمدة، العمود بروديد. والأعمدة المحورية الناتجة Q1. Q1COUNTTOTAL. Q2. Q2COUNTTOTAL. لكل قيمة فريدة من بروديد. Q1COUNTTOTAL بإرجاع العدد الإجمالي للصفوف التي تكون قيمة Q1 Q. وهذا هو، و Q2COUNTTOTAL بإرجاع العدد الإجمالي للصفوف التي تكون قيمة Q2 Q. نفترض أن لدينا جدول المبيعات 2 من البنية التالية: من نتيجة، ونحن نعلم أن ل بروديد 100، وهناك 2 صفوف المبيعات للربع Q1. و 1 صف المبيعات للربع Q2 ل بروديد 200، هناك 1 صف المبيعات للربع Q1. وليس هناك صف مبيعات للربع Q2.So، في Q2COUNTTOTAL. يمكنك تحديد أن NULLlt1gt يأتي من صف في الجدول الأصلي الذي يكون قياسه قيمة فارغة بينما NULLlt2gt يرجع إلى عدم وجود صف في الجدول الأصلي ل بروديد 200 في الربع Q2. أونبيفوتينغ أوبيراتيونس لا يقوم أونبيفوت بعكس عملية بيفوت. وبدلا من ذلك، تقوم بتدوير البيانات من الأعمدة إلى صفوف. إذا كنت تعمل مع بيانات محورة، لا يمكن لعملية ونبيفوت عكس أي تجميعات تم إجراؤها بواسطة بيفوت أو أي وسيلة أخرى. لتوضيح عدم التنشيط، قم أولا بإنشاء جدول محوري يتضمن أربعة أعمدة، لأرباع السنة: محتويات الجداول تشبه ما يلي: تقوم عملية ونبيفوت التالية بتدوير أعمدة الربع إلى صفوف. لكل منتج، سيكون هناك أربعة صفوف، واحدة لكل ربع سنة. لاحظ استخدام إينلود نولز في هذا المثال. يمكنك أيضا استخدام إكسكلود نولز. وهو الإعداد الافتراضي. بالإضافة إلى ذلك، يمكنك أيضا أونبيفوت باستخدام عمودين، كما في ما يلي: حرف البدل والتحويل الفرعي الاستعلام مع عمليات شمل إذا كنت ترغب في استخدام وسيطة بدل أو استعلام فرعي في أعمدة المحورية الخاصة بك، يمكنك القيام بذلك مع بناء جملة شمل بيفوت. مع بيفوت شمل، يتم تنسيق إخراج العملية بتنسيق شمل بشكل صحيح. يوضح المثال التالي استخدام الكلمة الرئيسية أحرف البدل، أي. يتم إخراج شمل الذي يتضمن كافة قيم القناة في ساليسفيو: لاحظ أن الكلمة الرئيسية أي متوفرة في عمليات بيفوت فقط كجزء من عملية شمل. ويشمل هذا الإخراج بيانات عن الحالات التي توجد فيها القناة في مجموعة البيانات. لاحظ أيضا أن دالات التجميع يجب أن تحدد جملة غروب بي لإرجاع قيم متعددة، ومع ذلك، لا يحتوي بيفوتكلوس على عبارة غروب بي صريحة. بدلا من ذلك، يؤدي بيفوتلوس ضمنية غروب بي. يوضح المثال التالي استخدام طلب بحث فرعي. وهو يقوم بإخراج شمل الذي يتضمن جميع قيم القناة وبيانات المبيعات المقابلة لكل قناة: ويؤدي الإنتاج إلى زيادة كثافة البيانات لتشمل جميع القنوات الممكنة لكل منتج. يتم عادة تخزين البيانات لبيانات التقارير في شكل متفرق. وهذا يعني أنه في حالة عدم وجود قيمة لمجموعة معينة من قيم الأبعاد، لا يوجد صف في جدول الحقائق. ومع ذلك، قد ترغب في عرض البيانات في شكل كثيف، مع عرض صفوف لكل مجموعة قيم الأبعاد حتى في حالة عدم وجود بيانات حقيقة لها. على سبيل المثال، إذا لم يبيع أحد المنتجات خلال فترة زمنية معينة، فقد لا تزال ترغب في مشاهدة المنتج خلال تلك الفترة الزمنية مع عدم وجود قيمة مبيعات بجواره. وعلاوة على ذلك، الحسابات التسلسل الزمني يمكن أن يؤديها بسهولة أكبر عندما تكون البيانات كثيفة على طول البعد الزمني. وذلك لأن البيانات الكثيفة سوف تملأ عددا متسقا من الصفوف لكل فترة، وهذا بدوره يجعل من السهل استخدام وظائف النافذة التحليلية مع تعويضات المادية. تكثيف البيانات هو عملية تحويل البيانات متفرق في شكل كثيف. للتغلب على مشكلة متفرق، يمكنك استخدام الانضمام الخارجي مقسمة لملء الفجوات في سلسلة زمنية أو أي بعد آخر. مثل هذا الانضمام يمتد بناء جملة الانضمام الخارجي التقليدي عن طريق تطبيق الارتباط الخارجي إلى كل قسم منطقي المعرفة في الاستعلام. يقسم أوراكل منطقيا الصفوف في طلب البحث استنادا إلى التعبير الذي تحدده في بند بارتيتيون بي. نتيجة للانضمام الخارجي مقسمة هو ونيون من ينضم الخارجي من كل من الأقسام في الجدول تقسيم منطقيا مع الجدول على الجانب الآخر من الانضمام. لاحظ أنه يمكنك استخدام هذا النوع من الارتباط لملء الفجوات في أي بعد، وليس بعد الوقت فقط. وتركز معظم الأمثلة هنا على البعد الزمني لأنه البعد الأكثر استخداما كأساس للمقارنات. بارتيتيون تاريخ التركيب بناء الجملة للانضمام الخارجي المقسم يمتد جملة أنسي سكل جوين باستخدام عبارة بارتيتيون بي متبوعة بقائمة تعبير. تحدد التعبيرات في القائمة المجموعة التي يتم تطبيق الارتباط الخارجي عليها. وفيما يلي شكلين من بناء الجملة المستخدمة عادة للانضمام الخارجي مقسمة: لاحظ أن كامل أوتور جوين غير معتمد مع الانضمام الخارجي مقسمة. عينة من بيانات متفرقة يظهر حالة تيبية كال مع البعد متفرق في المثال التالي، الذي يحسب المبيعات الأسبوعية والمبيعات من سنة إلى تاريخ للمنتج ترتد لأسابيع 20-30 في عامي 2000 و 2001: في هذا المثال، ونحن تتوقع 22 صف من البيانات (11 أسبوعا لكل منهما من سنتين) إذا كانت البيانات كثيفة. ومع ذلك، فإننا نحصل على 18 صفوف فقط لأن الأسابيع 25 و 26 مفقودة في عام 2000، وأسابيع 26 و 28 في عام 2001. ملء الثغرات في البيانات يمكننا أن نأخذ البيانات متفرق من الاستعلام السابق والقيام الانضمام الخارجي مقسمة مع مجموعة كثيفة من الوقت. في الاستعلام التالي، نحن الاسم المستعار لدينا الاستعلام الأصلي كما الخامس ونحن نختار البيانات من الجدول مرات، ونحن الاسم المستعار كما ر. نحن هنا استرداد 22 صفوف لأنه لا توجد ثغرات في هذه السلسلة. يحتوي كل صف من الصفوف الأربعة على 0 حيث يتم تعيين قيمة المبيعات إلى 0 باستخدام الدالة نفل. لاحظ أنه في هذا الاستعلام، تم وضع شرط وير لأسابيع تتراوح بين 20 و 30 في طريقة العرض المضمنة لمكون الوقت. تم إدخال هذا للحفاظ على النتيجة مجموعة صغيرة. ملء الثغرات في اثنين من الأبعاد يتم عرض البيانات N - الأبعاد عادة كعلامة التبويب الصليب 2-الأبعاد الكثيفة من (ن - 2) أبعاد الصفحة. يتطلب ذلك أن يتم تعبئة جميع القيم البعدية للبعدين الموجودين في علامة التبويب المتقاطعة. فيما يلي مثال آخر حيث يمكن استخدام إمكانية الانضمام الخارجي المقسمة لملء الثغرات على بعدين: في هذا الاستعلام، V1 يلخص بيانات المبيعات على المنتج والبلد، ومستوى العام. هذه النتيجة متفرقة ولكن المستخدمين قد ترغب في رؤية جميع البلاد، تركيبات العام لكل منتج. لتحقيق ذلك، ونحن نأخذ كل قسم من V1 على أساس القيم المنتج والخارجي انضمامه على البعد القطري أولا. هذا سوف تعطينا جميع قيم البلاد لكل منتج. ثم نأخذ هذه النتيجة وتقسيمها على المنتج وقيم البلاد ومن ثم الانضمام الخارجي على البعد الوقت. هذا سيعطينا كل قيم الوقت لكل منتج والبلد مزيج. سد الثغرات في جدول الجرد عادة ما يتتبع جدول المخزون كمية الوحدات المتاحة لمختلف المنتجات. هذا الجدول متناثر: إنه يخزن صفا لمنتج عندما يكون هناك حدث فقط. بالنسبة إلى جدول المبيعات، يكون الحدث عبارة عن عملية بيع، وبالنسبة لجدول المخزون، فإن الحدث هو تغيير في الكمية المتاحة لمنتج ما. على سبيل المثال، ضع في الاعتبار جدول المخزون التالي: يحتوي جدول المخزون الآن على الصفوف التالية: لأغراض إعداد التقارير، قد يرغب المستخدمون في رؤية بيانات المخزون هذه بشكل مختلف. على سبيل المثال، قد يرغبون في رؤية جميع قيم الوقت لكل منتج. ويمكن تحقيق ذلك باستخدام التقسيم الخارجي مقسمة. بالإضافة إلى ذلك، بالنسبة إلى الصفوف التي تم إدراجها حديثا من الفترات الزمنية المفقودة، قد يرغب المستخدمون في الاطلاع على قيم عمود كمية الوحدات التي سيتم نقلها من آخر فترة زمنية حالية. ويمكن تحقيق هذا الأخير باستخدام وظيفة نافذة تحليلية لاستفالو القيمة. هنا الاستعلام والإخراج المطلوب: الاستعلام الداخلي يحسب الانضمام الخارجي المقسم في الوقت المحدد داخل كل منتج. يؤدي الاستعلام الداخلي إلى زيادة كثافة البيانات في البعد الزمني (بمعنى أن البعد الزمني سيكون له الآن صف لكل يوم من أيام الأسبوع). ومع ذلك، فإن كمية عمود قياس سيكون لها نول للصفوف المضافة حديثا (انظر الإخراج في كمية العمود في النتائج التالية. استعلام الخارجي يستخدم الدالة التحليلية لاستفالو تطبيق هذه الوظيفة أقسام البيانات حسب المنتج وأوامر البيانات على (تيميد) لكل صف، تقوم الدالة بالبحث عن آخر قيمة غير فارغة في النافذة بسبب الخيار إغنور نولس الذي يمكنك استخدامه مع كل من لاستفالو و فيرستفالو. نرى الإخراج المطلوب في العمود ريكويدكانتيتي في المخرجات التالية: حساب قيم البيانات لملء الفجوات توضح الأمثلة في القسم السابق كيفية استخدام الاندماج الخارجي المقسم لملء الفجوات في واحد أو أكثر من الأبعاد، ومع ذلك، فإن مجموعات النتائج التي تنتج عن الارتباط الخارجي المقسم لها قيم خالية للأعمدة غير المضمنة في قائمة بارتيتيون بي عادة ما تكون هذه الأعمدة قياس يمكن للمستخدمين الاستفادة من وظائف سكل التحليلية لاستبدال تلك القيم الفارغة مع قيمة غير فارغة. على سبيل المثال، ما يلي q إري يحسب المجاميع الشهرية للمنتجات 64MB بطاقة الذاكرة وأقراص دفد-R (معرف المنتج 122 و 136) لعام 2000. ويستخدم الانصهار الخارجي مقسمة إلى دنسيفي البيانات لجميع الأشهر. بالنسبة للأشهر المفقودة، فإنه يستخدم بعد ذلك وظيفة سكل تحليلية أفغ لحساب المبيعات والوحدات لتكون متوسط ​​الأشهر التي تم فيها بيع المنتج. إذا كانت تعمل في سكلبلوس، فإن الأمرين التاليين يلفان عناوين الأعمدة لمزيد من قابلية قراءة النتائج: حسابات سلسلة الوقت على دنسيفيد دنسيفيكاتيو n ليس فقط لغرض الإبلاغ. كما أنها تمكن أنواع معينة من العمليات الحسابية، وخاصة الحسابات سلسلة زمنية. حسابات سلسلة الوقت أسهل عندما تكون البيانات كثيفة على طول البعد الزمني. البيانات الكثيفة لديها عدد ثابت من الصفوف لكل فترات زمنية والتي بدورها تجعل من السهل استخدام وظائف نافذة تحليلية مع تعويضات المادية. لتوضيح ذلك، دعونا نأخذ أولا مثال على ملء الثغرات في البيانات. ويتيح إضافة وظيفة تحليلية إلى هذا الاستعلام. في النسخة المحسنة التالية، نحسب المبيعات الأسبوعية إلى تاريخ المبيعات جنبا إلى جنب مع المبيعات الأسبوعية. يتم التعامل مع القيم نول التي يتم إدراجها في الارتباط الخارجي المقسم في جعل سلسلة الوقت كثيفة بالطريقة المعتادة: الدالة سوم يعاملها على أنها 0s. المقارنة بين فترة وأخرى لمستوى واحد مستوى: مثال كيف نستخدم هذه الميزة لمقارنة القيم عبر الفترات الزمنية على وجه التحديد، كيف نحسب مقارنة المبيعات على أساس سنوي على مستوى الأسبوع يعود الاستعلام التالي على الصف نفسه ، لكل منتج، والمبيعات من سنة إلى تاريخ لكل أسبوع من عام 2001 مع عام 2000. لاحظ أننا في هذا المثال نبدأ مع بند مع. هذا يحسن قابلية قراءة الاستعلام ويتيح لنا التركيز على الانضمام الخارجي مقسمة. إذا كان يعمل في سكلبلوس، يلتف الأمر التالي عناوين العمود لمزيد من إمكانية قراءة النتائج: في جملة فروم من عرض مضمنة دنتيساليس. ونحن نستخدم الانضمام الخارجي مقسمة للعرض الكلي الخامس وعرض الوقت ر لملء الثغرات في بيانات المبيعات على طول البعد الزمني. ثم تتم معالجة إخراج الانصهار الخارجي المقسم بواسطة الدالة التحليلية سوم. أوفر لحساب المبيعات الأسبوعية من عام إلى آخر (العمود ويكليتدزالس). وبالتالي، فإن داتينساليس الرأي يحسب بيانات المبيعات من سنة إلى تاريخ لكل أسبوع، بما في ذلك تلك المفقودة في الرأي الكلي ق. عرض مضمنة سنوفيريارساليس ثم يحسب العام الماضي مبيعات أسبوعية إلى تاريخ باستخدام وظيفة لاغ. تحدد الدالة لاغ المسماة ويكليديتساليسبريوريار جملة بارتيتيون بي التي تزوج صفوف لنفس الأسبوع من عامي 2000 و 2001 إلى قسم واحد. ثم نقوم بتمرير إزاحة من 1 إلى الدالة لاغ للحصول على السنة الأسبوعية حتى الآن المبيعات للسنة السابقة. أقصى كتلة الاستعلام يختار البيانات من سنوفيريارساليس مع الشرط سنة 2001. وبالتالي الاستعلام يعود، لكل منتج، أسبوعيا المبيعات من سنة إلى أخرى في الأسابيع المحددة من عامي 2001 و 2000. المقارنة بين فترة وأخرى لمستويات زمنية متعددة: مثال على الرغم من أن المثال السابق يوضح لنا طريقة لإنشاء مقارنات لمستوى وقت واحد، فإنه سيكون أكثر مفيدة للتعامل مع مستويات زمنية متعددة في استعلام واحد. على سبيل المثال، يمكننا مقارنة المبيعات مقابل الفترة السابقة على مستوى السنة والربع والشهر واليوم. كيف يمكننا إنشاء استعلام الذي يقوم بإجراء مقارنة سنوية على أساس سنوي بين المبيعات حتى تاريخه لجميع مستويات التسلسل الهرمي الزمني. سنتخذ عدة خطوات لأداء هذه المهمة. والهدف هو استعلام واحد مع مقارنات في اليوم، الأسبوع، الشهر، الربع، والسنة المستوى. الخطوات هي كما يلي: سوف نقوم بإنشاء عرض يسمى كوبيبرودتيمي. والتي تحتوي على مكعب هرمي من المبيعات المجمعة عبر الأوقات والمنتجات. ثم سنقوم بإنشاء وجهة نظر البعد الوقت لاستخدامها باعتبارها حافة المكعب. سيتم تقسيم حافة الوقت، الذي يحمل مجموعة كاملة من التمور، الخارجي انضم إلى البيانات متفرق في كوبيبرودتيمي الرأي. وأخيرا، لأقصى قدر من الأداء، وسوف نقوم بإنشاء عرض ملموس، مفبرودتيمي. بنيت باستخدام نفس تعريف كوبيبرودتيمي. لمزيد من المعلومات حول المكعبات الهرمية، راجع الفصل 21، سكل للتجميع في مستودعات البيانات. يتم تعريف العرض المتحقق في الخطوة 1 في المقطع التالي. الخطوة 1 إنشاء عرض مكعب التسلسل الهرمي قد يكون العرض المضمن في ما يلي موجود بالفعل في النظام الخاص بك إن لم يكن، إنشاء عليه الآن. إذا كان يجب إنشاء ذلك، لاحظ أننا نحد من الاستعلام إلى اثنين فقط من المنتجات للحفاظ على وقت المعالجة قصيرة: لأن هذا العرض يقتصر على اثنين من المنتجات، فإنه يعود فقط أكثر من 2200 الصفوف. لاحظ أن العمود هيرارشيكالتيمي يحتوي على تمثيلات سلسلة من الوقت من كافة مستويات التسلسل الهرمي الزمني. التعبير كيس المستخدمة في العمود هيرارشيكالتيمي إلحاق علامة (0، 1.) إلى كل سلسلة التاريخ للدلالة على مستوى الوقت للقيمة. A 0 يمثل مستوى السنة، 1 هو أرباع، 2 هو أشهر، و 3 في اليوم. لاحظ أن عبارة غروب بي عبارة عن رولوب متسلسل يحدد التسلسل الهرمي التراكمي لأبعاد الوقت والمنتج. عبارة غروب بي هي ما يحدد محتويات المكعب الهرمي. الخطوة 2 إنشاء وقت تشغيل العرض، وهو عبارة عن مجموعة كاملة من قيم التاريخ إدجيتيمي هو المصدر لملء الفجوات الزمنية في المكعب الهرمي باستخدام ارتباط خارجي مقسم. سيتم استخدام العمود هيرارشيكالتيمي في إدجيتيمي في الانضمام مقسمة مع العمود هيرارشيكتيمي في كوبيبرودتيمي الرأي. يحدد العبارة التالية إدجيتيمي: الخطوة 3 إنشاء مفبرودتيمي عرض مفهوما لدعم أداء أسرع تعريف عرض مادي هو تكرار ل كوبيبرودتيمي عرض تعريفها مسبقا. لأنه استعلام مكرر، سيتم إعادة كتابة مراجع إلى كوبيبرودتيم لاستخدام عرض مفبروتيمي تتحقق. قد يتم تحقيق ما يلي بالفعل في النظام الخاص بك إن لم يكن، إنشاء عليه الآن. إذا كان يجب عليك إنشاء ذلك، لاحظ أننا نحد من الاستعلام إلى اثنين فقط من المنتجات للحفاظ على وقت المعالجة قصيرة. الخطوة 4 إنشاء استعلام المقارنة لقد قمنا الآن بتعيين المرحلة لاستعلام المقارنة لدينا. يمكننا الحصول على حسابات المقارنة من فترة إلى أخرى على جميع المستويات. وهو يتطلب تطبيق وظائف تحليلية إلى مكعب هرمي مع بيانات كثيفة على طول البعد الزمني. بعض الحسابات التي يمكننا تحقيقها لكل مستوى الوقت هي: مجموع المبيعات للفترة السابقة على جميع مستويات الوقت. الفرق في المبيعات خلال الفترة السابقة. مجموع المبيعات في نفس الفترة من العام الماضي على جميع المستويات من الزمن. الفرق في المبيعات خلال نفس الفترة من العام الماضي. يؤدي المثال التالي كل هذه العمليات الحسابية الأربعة. ويستخدم ارتباط الخارجي مقسمة من كوبيبرودتيمي المشاهدات و إدجيتيمي لإنشاء عرض مضمنة من البيانات الكثيفة دعا دينسكوبيبرودتيمي. الاستعلام ثم يستخدم الدالة لاغ بنفس الطريقة مثل المثال السابق على مستوى واحد. تحدد الفقرة وير الخارجية الوقت على ثلاثة مستويات: أيام آب / أغسطس 2001، والشهر بأكمله، والربع الثالث بأكمله من عام 2001. لاحظ أن الصفين الأخيرين من النتائج تحتوي على مستوى الشهر والتجميع على مستوى الربع. ملاحظة أن لجعل النتائج أسهل للقراءة إذا كنت تستخدم سكلبلوس، يجب تعديل عناوين العمود مع الأوامر التالية. ستؤدي الأوامر إلى إضعاف عناوين الأعمدة لتقليل طول الخط: هنا هو الاستعلام الذي يقارن المبيعات الحالية بالمبيعات السابقة والسابقة: تقوم الدالة لاغ الأولى (ساليسبريوربيريود) بتقسيم البيانات على جيدب. قط. subcat. همز. جيدت وأمر الصفوف على أعمدة أبعاد كل الوقت. فإنه يحصل على قيمة المبيعات من الفترة السابقة عن طريق تمرير تعويض 1. الدالة لاغ الثانية (سالساميبيريودبريوريار) أقسام البيانات على أعمدة إضافية كترنوم. monnum. و داينوم وأوامر ذلك على السنة بحيث، مع تعويض من 1، فإنه يمكن حساب مبيعات العام الماضي لنفس الفترة. يحسب البند سيليكت الخارجي الفروق. إنشاء عضو مخصص في بعد: مثال في العديد من مهام سكل التحليلية، من المفيد تعريف الأعضاء المخصصين في بعد. على سبيل المثال، يمكنك تحديد فترة زمنية متخصصة للتحليلات. يمكنك استخدام ارتباط خارجي مقسم لإضافة عضو مؤقتا إلى بعد. لاحظ أن شرط سكل موديل الجديد هو مناسبة لخلق سيناريوهات أكثر تعقيدا تنطوي على أعضاء جدد في الأبعاد. راجع الفصل 23، سكل للنمذجة لمزيد من المعلومات حول هذا الموضوع. وكمثال على المهمة، ماذا لو أردنا تحديد عضو جديد لبعدنا الزمني نريد إنشاء رقم 13 من مستوى الشهر في بعدنا الزمني. ويعرف هذا الشهر ال 13 بأنه مجموع المبيعات لكل منتج في الشهر الأول من كل ربع سنة 2001. الحل له خطوتين. لاحظ أننا سنبني هذا الحل باستخدام طرق العرض والجداول التي تم إنشاؤها في المثال السابق. مطلوب خطوتين. أولا، أنشئ عرضا مع إضافة العضو الجديد إلى البعد المناسب. يستخدم طريقة العرض عملية ونيون آل لإضافة العضو الجديد. للاستعلام باستخدام العضو المخصص، استخدم تعبير كيس وربط خارجي مقسم. يتم إنشاء عضو جديد لدينا بعد البعد مع طريقة العرض التالية: في هذا البيان، يتم تعريف تيميك عرض من خلال تنفيذ ونيون آل من عرض وقت تشغيل (المعرفة في المثال السابق) والشهر ال 13 المعرفة من قبل المستخدم. تم اختيار قيمة جيدت من 8 لتمييز العضو المخصص من الأعضاء القياسية. يحدد ونيون آل السمات لعضو الشهر الثالث عشر عن طريق القيام سيليكت من الجدول دوال. لاحظ أن معرف التجميع، عمود جيدت. يتم تعيين إلى 8، ويتم تعيين رقم الربع إلى 5. ثم، والخطوة الثانية هي استخدام عرض مضمنة الاستعلام لتنفيذ ارتباط الخارجي مقسمة من كوبيبرودتيمي مع تيميك. تؤدي هذه الخطوة إلى إنشاء بيانات مبيعات للشهر الثالث عشر على كل مستوى من مستويات تجميع المنتجات. في الاستعلام الرئيسي، يتم استخدام الدالة التحليلية سوم مع تعبير كيس لحساب الشهر الثالث عشر، والذي يعرف بأنه مجموع مبيعات الأشهر الأولى من كل ربع سنة. تستخدم الدالة سوم حالة لحصر البيانات إلى أشهر 1 و 4 و 7 و 10 في كل سنة. نظرا لمجموعة البيانات الصغيرة، مع اثنين فقط من المنتجات، والقيم التراكمية من النتائج هي بالضرورة التكرار من التجميعات أقل مستوى. للحصول على مجموعة أكثر واقعية من القيم التراكمية، يمكنك تضمين المزيد من المنتجات من الفئات الفرعية في وحدة تحكم الألعاب و Y بوكس ​​غامس في العرض الأساسي الذي تم تحقيقه. إمكانات التحليل والإبلاغ المتنوعة يوضح هذا القسم القدرات التحليلية الإضافية التالية: وظيفة ويدثبوكيت بالنسبة إلى تعبير معين، ترجع الدالة ويدثبوكيت رقم الجرافة الذي سيتم تعيين نتيجة هذا التعبير بعد تقييمه. يمكنك إنشاء الرسوم البيانية إكويدث مع هذه الوظيفة. تقسم الرسوم البيانية إكويدث مجموعات البيانات إلى دلاء حجمه الفاصل (أعلى قيمة إلى أدنى قيمة) يساوي. سيختلف عدد الصفوف التي تحتفظ بها كل مجموعة. وظيفة ذات صلة، نتيل. يخلق دلاء إكيهيت. يمكن إنشاء الرسوم البيانية إكويدث فقط لأنواع رقمية، تاريخ أو داتيتيم. لذا يجب أن تكون المعلمات الثلاثة الأولى جميع التعبيرات الرقمية أو جميع تعبيرات التاريخ. أنواع أخرى من التعبيرات غير مسموح بها. إذا كانت المعلمة الأولى نول. والنتيجة هي نول. إذا كانت المعلمة الثانية أو الثالثة نول. يتم عرض رسالة خطأ، حيث لا يمكن أن تشير قيمة نول إلى أي نقطة نهاية (أو أي نقطة) لنطاق في بعد أو قيمة رقمية. يجب أن يكون المعامل الأخير (عدد الدلاء) تعبيرا رقميا يقيم إلى قيمة عدد صحيح موجب 0، نول. أو قيمة سلبية سيؤدي إلى خطأ. وترقم الدلاء من 0 إلى (n 1). يحمل دلو 0 عدد القيم أقل من الحد الأدنى. يحمل دلو (n 1) عدد القيم أكبر من أو يساوي القيمة القصوى المحددة. ويدثبوكيت بناء الجملة يأخذ ويدثبوكيت أربعة تعبيرات كمعلمات. المعلمة الأولى هي التعبير الذي هو الرسم البياني إكوييدث ل. المعلمتان الثانية والثالثة عبارة عن تعبيرات تشير إلى نقاط النهاية للنطاق المقبول للمعلمة الأولى. المعلمة الرابعة تدل على عدد الدلاء. النظر في البيانات التالية من عملاء الجدول. والتي تظهر حدود الائتمان ل 17 عميلا. يتم تجميع هذه البيانات في الاستعلام الموضح في المثال 22-24. في الجدول العملاء. يحتوي كوستكريديليميت العمود على قيم بين 1500 و 15000، ويمكننا تعيين القيم إلى أربعة دلاء إكويدث، مرقمة من 1 إلى 4، باستخدام ويدثبوكيت (كوستكريديتليميت، 0، 20000، 4). Ideally each bucket is a closed-open interval of the real number line, for example, bucket number 2 is assigned to scores between 5000.0000 and 9999.9999. sometimes denoted 5000, 10000) to indicate that 5,000 is included in the interval and 10,000 is excluded. To accommodate values outside the range 0, 20,000), values less than 0 are assigned to a designated underflow bucket which is numbered 0, and values greater than or equal to 20,000 are assigned to a designated overflow bucket which is numbered 5 (num buckets 1 in general). See Figure 22-3 for a graphical illustration of how the buckets are assigned. Figure 22-3 Bucket Assignments You can specify the bounds in the reverse order, for example, WIDTHBUCKET ( custcreditlimit. 20000. 0. 4 ). When the bounds are reversed, the buckets will be open-closed intervals. In this example, bucket number 1 is ( 15000,20000 , bucket number 2 is ( 10000,15000 , and bucket number 4, is ( 0 ,5000 . The overflow bucket will be numbered 0 ( 20000. infinity ), and the underflow bucket will be numbered 5 (- infinity. 0 . It is an error if the bucket count parameter is 0 or negative. Example 22-24 WIDTHBUCKET The followin g query shows the bucket numbers for the credit limits in the customers table for both cases where the boundaries are specified in regular or reverse order. We use a range of 0 to 20,000. Linear Algebra Linear algebra is a branch of mathematics with a wide range of practical applications. Many areas have tasks that can be expressed using linear algebra, and here are some examples from several fields: statistics (multiple linear regression and principle components analysis), data mining (clustering and classification), bioinformatics (analysis of microarray data), operations research (supply chain and other optimization problems), econometrics (a nalysis of consumer demand data), and finance (asset allocation problems). Various libraries for linear algebra are freely available for anyone to use. Oracles UTLNLA package exposes matrix PLSQL data types and wrapper PLSQL subprograms for two of the most popular and robust of these libraries, BLAS and LAPACK. Linear algebra depends on matrix manipulation. Performing matrix manipulation in PLSQL in the past required inventing a matrix representation based on PLSQLs native data types and then writing matrix manipulation routines from scratch. This required substantial programming effort and the performance of the resulting implementation was limited. If developers chose to send data to external packages for processing rather than create their own routines, data transfer back and forth could be time consuming. Using the UTLNLA package lets data stay within Oracle, removes the programming effort, and delivers a fast implementation. Example 22-25 Linear Algebra Here is an example of how Oracles linear algebra support could be used for business analysis. It invokes a multiple linear regression application built using the UTLNLA package. The multiple regression application is implemented in an object called OLSRegression. Note that sample files for the OLS Regression object can be found in ORACLEHOMEplsqldemo . Consider the scenario of a retailer analyzing the effectiveness of its marketing program. Each of its stores allocates its marketing budget over the following possible programs: media advertisements ( media ), promotions ( promo ), discount coupons ( disct ), and direct mailers ( dmail ). The regression analysis builds a linear relationship between the amount of sales that an average store has in a given year ( sales ) and the spending on the four components of the marketing program. Suppose that the marketing data is stored in the following table: Then you can build the following sales-marketing linear model using coefficients: This model can be implemented as the following view, which refers to the OLS regression object: Using this view, a marketing program manager can perform an analysis such as Is this sales-marketing model reasonable for year 2004 data That is, is the multiple-correlation greater than some acceptable value, say, 0.9 The SQL for such a query might be as follows: You could also solve questions such as What is the expected base-line sales revenue of a store without any marketing programs in 2003 or Which component of the marketing program was the most effective in 2004 That is, a dollar increase in which program produced the greatest expected increase in sales See Oracle Database PLSQL Packages and Types Reference for further information regarding the use of the UTLNLA package and linear algebra. CASE Expressions Oracle now supports simple and searched CASE statements. CASE statements are similar in purpose to the DECODE statement, but they offer more flexibility and logical power. They are also easier to read than traditional DECODE statements, and offer better performance as well. They are commonly used when breaking categories into buckets like age (for example, 20-29, 30-39, and so on). The syntax for simple CASE statements is: Simple CASE expressions test if the expr value equals the comparisonexpr . The syntax for searched CASE statements is: You can use any kind of condition in a searched CASE expression, not just an equality test. You can specify only 65,535 arguments and each WHEN. THEN pair counts as two arguments. To avoid exceeding this limit, you can nest CASE expressions so that the returnexpr itself is a CASE expression. Example 22-26 CASE Suppose you wanted to find the average salary of all employees in the company. If an employees salary is less than 2000, you want the query to use 2000 instead. Without a CASE statement, you might choose to write this query as follows: Note that this runs against the hr sample schema. In this, foo is a function that returns its input if the input is greater than 2000, and returns 2000 otherwise. The query has performance implications because it needs to invoke a function for each row. Writing custom functions can also add to the development load. Using CASE expressions in the database without PLSQL, this query can be rewritten as: Using a CASE expression lets you avoid developing custom functions and can also perform faster. Example 22-27 CASE for Aggregating Independent Subsets Using CASE inside aggregate functions is a convenient way to perform aggregates on multiple subsets of data when a plain GROUP BY will not suffice. For instance, the preceding example could have included multiple AVG columns in its SELECT list, each with its own CASE expression. We might have had a query find the average salary for all employees in the salary ranges 0-2000 and 2000-5000. It would look like: Although this query places the aggregates of independent subsets data into separate columns, by adding a CASE expression to the GROUP BY clause we can display the aggregates as the rows of a single column. The next section shows the flexibility of this approach with two approaches to creating histograms with CASE . Creating Histograms You can use the CASE statement when you want to obtain histograms with user-defined buckets (both in number of buckets and width of each bucket). The following are two examples of histograms created with CASE statements. In the first example, the histogram totals are shown in multiple columns and a single row is returned. In the second example, the histogram is shown with a label column and a single column for totals, and multiple rows are returned. Example 22-28 Histogram Example 1 Example 22-29 Histogram Example 2 Frequent Itemsets Instead of counting how often a given event occurs (for example, how often someone has purchased milk at the grocery), you may find it useful to count how often multiple events occur together (for example, how often someone has purchased both milk and cereal together at the grocery store). You can count these multiple events using what is called a frequent itemset, which is, as the name implies, a set of items. Some examples of itemsets could be all of the products that a given customer purchased in a single trip to the grocery store (commonly called a market basket), the web pages that a user accessed in a single session, or the financial services that a given customer utilizes. The practical motivation for using a frequent itemset is to find those itemsets that occur most often. If you analyze a grocery stores point-of-sale data, you might, for example, discover that milk and bananas are the most commonly bought pair of items. Frequent itemsets have thus been used in business intelligence environments for many years, with the most common one being for market basket analysis in the retail industry. Frequent itemset calculations are integrated with the database, operating on top of relational tables and accessed through SQL. This integration provides the following key benefits: Applications that previously relied on frequent itemset operations now benefit from significantly improved performance as well as simpler implementation. SQL-based applications that did not previously use frequent itemsets can now be easily extended to take advantage of this functionality. Frequent itemsets analysis is performed with the PLSQL package DBMSFREQUENTITEMSETS. See Oracle Database PLSQL Packages and Types Reference for more information. In addition, there is an example of frequent itemset usage in Frequent itemsets . Scripting on this page enhances content navigation, but does not change the content in any way.

Comments

Popular Posts