ما هو مكعب أولاب في إكسل. إنشاء مشروع SSAS. ما هو التحليل ولماذا هو مطلوب؟

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

ما هو مستودع البيانات؟

عادة - المكان الذي يتم فيه جمع كافة المعلومات ذات القيمة التحليلية. تتوافق متطلبات هذه المتاجر مع التعريف الكلاسيكي لـ OLAP وسيتم شرحها أدناه.

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

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

ثانيًا، في حين أن قواعد البيانات التقليدية تخضع للتغيير المستمر أثناء عمل المستخدمين، فإن مستودع البيانات مستقر نسبيًا: وعادةً ما يتم تحديث البيانات الموجودة فيه وفقًا لجدول زمني (على سبيل المثال، أسبوعيًا أو يوميًا أو كل ساعة، حسب الاحتياجات). ومن الناحية المثالية، فإن عملية الإثراء هي ببساطة إضافة بيانات جديدة على مدى فترة من الزمن دون تغيير المعلومات السابقة الموجودة بالفعل في المتجر.

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

كيف يتم بناء منشأة التخزين؟

إيتل– المفهوم الأساسي : ثلاث مراحل :
  • الاستخراج – استخراج البيانات من مصادر خارجية بتنسيق مفهوم؛
  • التحويل – تحويل هيكل البيانات المصدر إلى هياكل ملائمة لبناء نظام تحليلي؛
دعونا نضيف مرحلة أخرى - تنظيف البيانات ( تنظيف) – عملية تصفية البيانات غير ذات الصلة أو تصحيح البيانات الخاطئة بناءً على الأساليب الإحصائية أو المتخصصة. حتى لا يتم إنشاء تقارير مثل "مبيعات عام 20011" لاحقًا.

دعنا نعود إلى التحليل.

ما هو التحليل ولماذا هو مطلوب؟

التحليل هو دراسة البيانات لغرض اتخاذ القرارات. تسمى الأنظمة التحليلية أنظمة دعم القرار ( مفاجآت صيف دبي).

تجدر الإشارة هنا إلى الفرق بين العمل مع DSS ومجموعة بسيطة من التقارير المنظمة وغير المنظمة. يكون التحليل في DSS دائمًا تفاعليًا ومتكررًا. أولئك. يقوم المحلل بالتنقيب في البيانات، وتأليف الاستفسارات التحليلية وتعديلها، ويتلقى التقارير التي قد يكون هيكلها غير معروف مسبقًا. سنعود إلى هذا بمزيد من التفاصيل أدناه عندما نناقش لغة الاستعلام. MDX.

OLAP

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

تسمى تقنية تحليل البيانات المعقدة متعددة الأبعاد OLAP (المعالجة التحليلية عبر الإنترنت). يعد OLAP مكونًا رئيسيًا لتخزين البيانات التقليدية. تم وصف مفهوم OLAP في عام 1993 من قبل إدغار كود، وهو باحث مشهور في قواعد البيانات ومؤلف نموذج البيانات العلائقية. في عام 1995، بناءً على المتطلبات التي حددها Codd، تمت صياغة ما يسمى باختبار FASMI (التحليل السريع للمعلومات المشتركة متعددة الأبعاد)، بما في ذلك المتطلبات التالية لتطبيقات التحليل متعدد الأبعاد:

  • تزويد المستخدم بنتائج التحليل في وقت مقبول (عادة لا يزيد عن 5 ثوانٍ)، حتى على حساب تحليل أقل تفصيلاً؛
  • القدرة على القيام بأي تحليل منطقي وإحصائي مميز هذا التطبيقوحفظه في شكل يمكن للمستخدم النهائي الوصول إليه؛
  • وصول متعدد المستخدمين إلى البيانات مع دعم آليات القفل المناسبة ووسائل الوصول المعتمدة؛
  • التمثيل المفاهيمي متعدد الأبعاد للبيانات، بما في ذلك دعم كاملللتسلسلات الهرمية والتسلسلات الهرمية المتعددة (وهذا مطلب أساسي لـ OLAP)؛
  • القدرة على الوصول إلى أي معلومات ضرورية، بغض النظر عن حجمها ومكان تخزينها.
تجدر الإشارة إلى أنه يمكن تنفيذ وظيفة OLAP طرق مختلفةبدءًا من أبسط أدوات تحليل البيانات في التطبيقات المكتبية وانتهاءً بالأنظمة التحليلية الموزعة القائمة على منتجات الخادم. أولئك. OLAP ليست تقنية، ولكن أيديولوجية.

قبل أن نتحدث عن تطبيقات OLAP المختلفة، دعونا نلقي نظرة فاحصة على ماهية المكعبات من وجهة نظر منطقية.

مفاهيم متعددة الأبعاد

سوف نستخدم قاعدة بيانات Northwind المضمنة مع Microsoft لتوضيح مبادئ OLAP. خادم قاعدة البياناتوهي قاعدة بيانات نموذجية تخزن معلومات حول العمليات التجارية لشركة تعمل في مجال توريد المواد الغذائية بالجملة. تتضمن هذه البيانات معلومات حول الموردين والعملاء وقائمة البضائع الموردة وفئاتها وبيانات حول الطلبات والسلع المطلوبة وقائمة موظفي الشركة.

مكعب

لنأخذ على سبيل المثال جدول Invoices1 الذي يحتوي على طلبات الشركة. الحقول في هذا الجدول ستكون كما يلي:
  • تاريخ الطلب
  • بلد
  • مدينة
  • اسم الزبون
  • شركة توصيل
  • اسم المنتج
  • كمية البضائع
  • سعر الطلب
ما هي البيانات المجمعة التي يمكننا الحصول عليها من هذا العرض؟ عادةً ما تكون هذه إجابات لأسئلة مثل:
  • ما هي القيمة الإجمالية للطلبات المقدمة من العملاء من دولة معينة؟
  • ما هي القيمة الإجمالية للطلبات التي يقدمها العملاء في دولة معينة وتسلمها شركة معينة؟
  • ما هي القيمة الإجمالية للطلبات التي يقدمها العملاء في بلد معين في سنة معينة وتسلمها شركة معينة؟
يمكن الحصول على كل هذه البيانات من هذا الجدول باستخدام استعلامات SQL واضحة تمامًا مع التجميع.

ستكون نتيجة هذا الاستعلام دائمًا عبارة عن عمود من الأرقام وقائمة من السمات التي تصفه (على سبيل المثال، البلد) - وهي عبارة عن مجموعة بيانات أحادية البعد، أو متجه في اللغة الرياضية.

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

إذا أردنا الحصول على نفس البيانات، ولكن أيضًا حسب السنة، فسيظهر تغيير آخر، أي. ستصبح مجموعة البيانات ثلاثية الأبعاد (موتر مشروط من الدرجة الثالثة أو "مكعب" ثلاثي الأبعاد).

من الواضح أن الحد الأقصى لعدد الأبعاد هو عدد جميع السمات (التاريخ، البلد، العميل، وما إلى ذلك) التي تصف بياناتنا المجمعة (كمية الطلبات، وعدد المنتجات، وما إلى ذلك).

وهكذا نصل إلى مفهوم تعدد الأبعاد وتجسيده - مكعب متعدد الأبعاد. سوف نسمي هذا الجدول " جدول الحقائق" الأبعاد أو محاور المكعب ( أبعاد) هي السمات التي يتم التعبير عن إحداثياتها بالقيم الفردية لهذه السمات الموجودة في جدول الحقيقة. أولئك. على سبيل المثال، إذا تم الاحتفاظ بمعلومات حول الطلبات في النظام من عام 2003 إلى عام 2010، فإن محور هذا العام سيتكون من 8 نقاط مقابلة. إذا جاءت الطلبات من ثلاث دول، فسيحتوي محور الدولة على 3 نقاط، وما إلى ذلك. بغض النظر عن عدد البلدان المدرجة في دليل البلدان. تسمى النقاط الموجودة على المحور "أعضائه" ( أعضاء).

في هذه الحالة، ستسمى البيانات المجمعة نفسها "تدابير" ( يقيس). ولتجنب الخلط بينه وبين "الأبعاد"، يفضل أن يطلق على الأخيرة اسم "المحاور". تشكل مجموعة التدابير محور "تدابير" آخر ( مقاسات). يحتوي على عدد من الأعضاء (النقاط) يساوي عدد المقاييس (الأعمدة المجمعة) في جدول الحقيقة.

يمكن دمج أعضاء الأبعاد أو المحاور بواسطة تسلسل هرمي واحد أو أكثر ( تَسَلسُل). دعونا نشرح ما هو التسلسل الهرمي بمثال: يمكن توحيد المدن من الطلبات في مناطق، أو مناطق في مناطق، أو مناطق في بلد ما، أو دول في قارات أو كيانات أخرى. أولئك. هناك هيكل هرمي - القارة- البلد-المنطقة-المنطقة-المدينة– 5 مستويات ( مستوى). بالنسبة للمنطقة، يتم تجميع البيانات لجميع المدن المضمنة فيها. لمنطقة عبر جميع المناطق التي تحتوي على جميع المدن، وما إلى ذلك. لماذا نحتاج إلى تسلسلات هرمية متعددة؟ على سبيل المثال، في محور تاريخ الطلب، قد نرغب في تجميع النقاط (أي الأيام) في تسلسل هرمي سنة شهر يوماو بواسطة سنة-أسبوع-يوم: في كلتا الحالتين هناك ثلاثة مستويات. من الواضح أن الأسبوع والشهر يجمعان الأيام بشكل مختلف. هناك أيضًا تسلسلات هرمية، حيث لا يكون عدد المستويات فيها محددًا ويعتمد على البيانات. على سبيل المثال، المجلدات الموجودة على قرص الكمبيوتر.

يمكن أن يتم تجميع البيانات باستخدام عدة وظائف قياسية: المجموع، الحد الأدنى، الحد الأقصى، المتوسط، العدد.

MDX

دعنا ننتقل إلى لغة الاستعلام في البيانات متعددة الأبعاد.
لم يتم تصميم لغة SQL في الأصل للمبرمجين، بل للمحللين (وبالتالي لديها بناء جملة يشبه اللغة الطبيعية). لكن مع مرور الوقت، أصبح الأمر أكثر تعقيدا، والآن القليل من المحللين يعرفون كيفية استخدامه بشكل جيد، هذا إذا كانوا يستخدمونه على الإطلاق. لقد أصبح أداة للمبرمجين. لغة الاستعلام MDX، التي يُشاع أنها تم تطويرها من قبل مواطننا السابق موشا (أو موشا) بوسومانسكي في براري مايكروسوفت، كانت تهدف أيضًا في البداية إلى استهداف المحللين، ولكن مفاهيمها وصياغتها (التي تذكرنا بشكل غامض بـ SQL، و عبثًا تمامًا، أي لأنه يربك فقط)، حتى أكثر تعقيدًا من SQL. ومع ذلك، لا تزال أساسياتها سهلة الفهم.

وسنتناولها بالتفصيل لأنها اللغة الوحيدة التي حصلت على وضع قياسي ضمن إطار معيار بروتوكول XMLA العام، وثانيًا لأن هناك تطبيق مفتوح المصدر لها على شكل مشروع موندريان من الشركة بنتاهو. تستخدم أنظمة تحليل OLAP الأخرى (على سبيل المثال، Oracle OLAP Option) عادةً امتداداتها الخاصة لبناء جملة SQL، ولكنها تعلن أيضًا عن دعم MDX.

إن العمل مع مجموعات البيانات التحليلية يعني فقط قراءتها، ولا يعني كتابتها. الذي - التي. لا يحتوي MDX على أي بنود لتغيير البيانات، ولكن هناك فقرة اختيار واحدة فقط - حدد.

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

حدد...الأطفال في الصفوف من
ما هو هنا؟

يختار- الكلمة الأساسية مضمنة في بناء الجملة للجمال فقط.
هو اسم المحور. تتم كتابة كافة أسماء الأعلام في MDX بين قوسين مربعين.
هو اسم التسلسل الهرمي. في حالتنا، هذا هو التسلسل الهرمي بين البلد والمدينة
– هذا هو اسم عضو المحور في المستوى الأول من التسلسل الهرمي (أي الدولة) الكل – وهو عضو ميتا يوحد جميع أعضاء المحور. يوجد مثل هذا المصطلح التعريفي في كل محور. على سبيل المثال، في محور السنة يوجد "كل السنوات"، وما إلى ذلك.
أطفالهي وظيفة عضو. كل عضو لديه العديد من الوظائف المتاحة. مثل الوالد. المستوى، التسلسل الهرمي، ويعيد على التوالي السلف، والمستوى في التسلسل الهرمي والتسلسل الهرمي نفسه الذي ينتمي إليه العضو في هذه الحالة. الأطفال - إرجاع مجموعة من الأعضاء الأطفال لهذا العضو. أولئك. في حالتنا – البلدان.
على الصفوف– يشير إلى كيفية ترتيب هذه البيانات في الجدول الناتج. في هذه الحالة - في رأس السطور. القيم المحتملة هنا: على الأعمدة، على الصفحات، على الفقرات، الخ. من الممكن أيضًا الإشارة ببساطة عن طريق الفهرس، بدءًا من 0.
من- وهذا مؤشر على المكعب الذي يتم الاختيار منه.

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

حدد (...، ...) في الصفوف من
الأقواس المتعرجة في هذه الحالة هي إعلان المجموعة ( تعيين). المجموعة عبارة عن قائمة، وتعداد للأعضاء من محور واحد.

لنكتب الآن استعلامًا للمثال الثاني - الإخراج في سياق موظف التوصيل:

حدد...الأطفال في الصفوف.الأعضاء في الأعمدة من
تمت الإضافة هنا:
- المحور؛
.أعضاء- دالة محورية تُرجع جميع المصطلحات الموجودة عليها. التسلسل الهرمي والمستوى لهما نفس الوظيفة. لأن لا يوجد سوى تسلسل هرمي واحد في هذا المحور، ومن ثم يمكن حذف الإشارة إليه، لأنه المستوى والتسلسل الهرمي متماثلان أيضًا، ثم يمكنك عرض جميع الأعضاء في قائمة واحدة.

أعتقد أنه من الواضح بالفعل كيف يمكننا مواصلة ذلك بمثالنا الثالث بالتفصيل حسب السنة. ولكن من الأفضل ألا نتعمق أكثر حسب السنة، بل يجب أن نقوم بالتصفية - على سبيل المثال. بناء شريحة وللقيام بذلك سنكتب الاستعلام التالي:

حدد .. الأطفال في الصفوف . الأعضاء في الأعمدة من حيث (.)
أين الترشيح هنا؟

أين- الكلمة الرئيسية
هو أحد أعضاء التسلسل الهرمي . الاسم الكامل، بما في ذلك جميع المصطلحات، سيكون: .. ، ولكن وبما أن اسم هذا العضو فريد داخل المحور، فيمكن حذف كافة التوضيحات الوسيطة للاسم.

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

يتم استخدام Tuple لأكثر من مجرد التصفية. يمكن أن تكون الصفوف أيضًا في رؤوس الصفوف/الأعمدة/الصفحات، وما إلى ذلك.

يعد ذلك ضروريًا، على سبيل المثال، لعرض نتيجة استعلام ثلاثي الأبعاد في جدول ثنائي الأبعاد.

حدد crossjoin(...Children, ..Children) في الصفوف. الأعضاء في الأعمدة من حيث (.)
تقاطع الانضمامهي وظيفة. تقوم بإرجاع مجموعة من الصفوف (نعم، يمكن أن تحتوي المجموعة على صفوف!) الناتجة عن المنتج الديكارتي لمجموعتين. أولئك. ستحتوي المجموعة الناتجة على كافة المجموعات الممكنة من البلدان والسنوات. وبالتالي ستحتوي رؤوس الصفوف على زوج من القيم: البلد-السنة.

والسؤال هو أين بيان ما هي الخصائص العددية التي ينبغي عرضها؟ في هذه الحالة، يتم استخدام المقياس الافتراضي المحدد لهذا المكعب، أي. سعر الطلب. إذا أردنا استخلاص مقياس آخر، فإننا نتذكر أن المقاييس هي أعضاء في البعد مقاسات. ونحن نتصرف بنفس الطريقة تمامًا كما هو الحال مع المحاور الأخرى. أولئك. تصفية استعلام بواسطة أحد المقاييس سيؤدي إلى عرض هذا المقياس بالضبط في الخلايا.

سؤال: ما الفرق بين التصفية في المكان والتصفية عن طريق تحديد أعضاء المحور في الصفوف. الجواب: لا شيء عمليا. ببساطة حيث تتم الإشارة إلى شريحة لتلك المحاور التي لا تشارك في تكوين العناوين. أولئك. نفس المحور لا تستطيعيكون حاضرا في نفس الوقت على الصفوف، و في أين.

الأعضاء المحسوبة

للمزيد من استعلامات معقدةيمكنك إعلان الأعضاء المحسوبين. أعضاء كل من محاور السمة والقياس. أولئك. يمكنك الإعلان، على سبيل المثال، عن إجراء جديد يعرض مساهمة كل دولة في إجمالي كمية الطلبات:

مع العضو. كـ '.CurrentMember / ..'، FORMAT_STRING='0.00%' حدد ...الأطفال في الصفوف من حيث .
يتم الحساب في سياق الخلية التي تكون جميع سماتها الإحداثية معروفة. يمكن الحصول على الإحداثيات المقابلة (الأعضاء) بواسطة الدالة CurrentMember لكل محور من محاور المكعب. وهنا يجب أن نفهم أن التعبير .العضو الحالي/..لا يقسم حدا على آخر، بل يقسم البيانات المجمعة ذات الصلةشرائح مكعب! أولئك. سيتم تقسيم شريحة المنطقة الحالية إلى شريحة لجميع المناطق، أي. القيمة الإجمالية لجميع الطلبات. FORMAT_STRING – يضبط تنسيق عرض القيم، على سبيل المثال. %.

مثال آخر للعضو المحسوب ولكن على محور السنوات:

مع العضو. مثل '. - .'
ومن الواضح أن التقرير لن يحتوي على وحدة، بل على اختلاف الأقسام المقابلة لها، أي. الفرق في كمية الطلبات في هذين العامين.

عرض في رولاب

تعتمد أنظمة OLAP بطريقة أو بأخرى على نوع من تخزين البيانات ونظام التنظيم. متى نحن نتحدث عنحول RDBMS، ثم يتحدثون عن ROLAP (سنترك MOLAP وHOLAP لـ دراسة ذاتية). ROLAP – OLAP على قاعدة بيانات علائقية، أي. موصوفة في شكل جداول عادية ثنائية الأبعاد. تقوم أنظمة ROLAP بتحويل استعلامات MDX إلى SQL. مشكلة الحوسبة الرئيسية لقواعد البيانات هي التجميع السريع. للتجميع بشكل أسرع، عادة ما تكون البيانات الموجودة في قاعدة البيانات غير طبيعية بدرجة كبيرة، أي. لا يتم تخزينها بكفاءة عالية من حيث مساحة القرص المستغلة ومراقبة سلامة قاعدة البيانات. بالإضافة إلى أنها تحتوي أيضًا على جداول مساعدة تخزن البيانات المجمعة جزئيًا. لذلك، بالنسبة لـ OLAP، يتم عادةً إنشاء مخطط قاعدة بيانات منفصل، والذي يكرر بشكل جزئي فقط بنية قواعد بيانات المعاملات الأصلية من حيث الدلائل.

ملاحة

توفر العديد من أنظمة OLAP أدوات تنقل تفاعلية للاستعلام الذي تم إنشاؤه بالفعل (وبالتالي البيانات المحددة). وفي هذه الحالة يتم استخدام ما يسمى بـ "الحفر" أو "الحفر". الترجمة الأكثر ملاءمة إلى اللغة الروسية هي كلمة "تعميق". لكن هذه مسألة ذوق، ففي بعض البيئات ظلت كلمة "الحفر" عالقة.

تدريبات- هذا عبارة عن تفاصيل تقرير عن طريق تقليل درجة تجميع البيانات، بالإضافة إلى التصفية على طول بعض المحاور الأخرى (أو عدة محاور). هناك عدة أنواع من الحفر:

  • الحفر لأسفل– التصفية على طول أحد محاور المصدر للتقرير مع عرض معلومات مفصلة عن الفروع ضمن التسلسل الهرمي لعضو التصفية المحدد. على سبيل المثال، إذا كان هناك تقرير عن توزيع الطلبات مقسمًا حسب البلدان والسنوات، فإن النقر على عام 2007 سيعرض تقريرًا مقسمًا حسب نفس البلدان والأشهر من عام 2007.
  • جانب الحفر– التصفية تحت واحد أو أكثر من المحاور المختارة وإزالة التجميع على طول واحد أو أكثر من المحاور الأخرى. على سبيل المثال، إذا كان هناك تقرير عن توزيع الطلبات مقسمًا حسب البلدان والسنوات، فإن النقر على عام 2007 سيعرض تقريرًا آخر مقسمًا، على سبيل المثال، حسب البلدان والموردين مع التصفية حسب عام 2007.
  • حوض الحفر– إزالة التجميع على طول جميع المحاور والتصفية المتزامنة معها – يتيح لك رؤية البيانات المصدر من جدول الحقائق الذي تم الحصول على القيمة الموجودة في التقرير منه. أولئك. عند النقر على قيمة الخلية، يتم عرض تقرير بجميع الطلبات التي أعطت هذا المبلغ. نوع من الحفر الفوري في "أعماق" المكعب.
هذا كل شئ. الآن، إذا قررت تكريس نفسك لذكاء الأعمال وOLAP، فقد حان الوقت لبدء قراءة الأدبيات الجادة.

العلامات: إضافة العلامات

لقد كنت مقيمًا في حبر منذ فترة طويلة، لكنني لم أقرأ مطلقًا مقالات حول موضوع المكعبات متعددة الأبعاد وOLAP وMDX، على الرغم من أن الموضوع مثير للاهتمام للغاية ويصبح ذا صلة متزايدة كل يوم.
ليس سراً أنه خلال تلك الفترة القصيرة من تطوير قواعد البيانات والمحاسبة الإلكترونية والأنظمة عبر الإنترنت، تراكمت الكثير من البيانات نفسها. والآن، يعد التحليل الكامل للأرشيف، وربما محاولة التنبؤ بمواقف نماذج مماثلة في المستقبل، أمرًا مثيرًا للاهتمام أيضًا.
من ناحية أخرى، يمكن للشركات الكبيرة، حتى على مدار عدة سنوات أو أشهر أو حتى أسابيع، تجميع كميات كبيرة من البيانات حتى أن تحليلها الأساسي يتطلب أساليب غير عادية ومتطلبات أجهزة صارمة. يمكن أن تكون هذه أنظمة معالجة المعاملات المصرفية، ووكلاء الصرف، مشغلي الهاتفإلخ.
أعتقد أن الجميع يدرك جيدًا طريقتين مختلفتين لتصميم قاعدة البيانات: OLTP وOLAP. تم تصميم النهج الأول (معالجة المعاملات عبر الإنترنت - معالجة المعاملات في الوقت الحقيقي) لجمع البيانات بكفاءة في الوقت الحقيقي، في حين أن النهج الثاني (المعالجة التحليلية عبر الإنترنت - المعالجة التحليلية في الوقت الحقيقي) يهدف على وجه التحديد إلى أخذ عينات ومعالجة البيانات بأكثر الطرق كفاءة. طريق.

دعونا نلقي نظرة على القدرات الرئيسية لمكعبات OLAP الحديثة والمشكلات التي تحلها (يتم أخذ خدمات التحليل 2005/2008 كأساس):

  • الوصول السريعإلى البيانات
  • التجميع المسبق
  • تَسَلسُل
  • العمل مع الوقت
  • لغة الوصول إلى البيانات متعددة الأبعاد
  • KPI (مؤشرات الأداء الرئيسية)
  • التعدين التاريخ
  • التخزين المؤقت متعدد المستويات
  • دعم متعدد اللغات
لذلك، دعونا نلقي نظرة على قدرات مكعبات OLAP بمزيد من التفاصيل.

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

الوصول السريع إلى البيانات
في الواقع، الوصول السريع إلى البيانات، بغض النظر عن حجم المصفوفة، هو أساس أنظمة OLAP. وبما أن هذا هو محور التركيز الرئيسي، فعادةً ما يتم بناء مستودع البيانات على مبادئ مختلفة عن مبادئ قواعد البيانات العلائقية.
هنا، يتم قياس الوقت اللازم لجلب البيانات البسيطة بأجزاء من الثانية، والاستعلام الذي يتجاوز بضع ثوانٍ على الأرجح يتطلب التحسين.

التجميع المسبق
بالإضافة إلى استرداد البيانات الموجودة بسرعة، فإنه يوفر أيضًا القدرة على التجميع المسبق للقيم "الأكثر احتمالاً للاستخدام". على سبيل المثال، إذا كان لدينا سجلات يومية لمبيعات منتج معين، فإن النظام ربمايمكننا أيضًا تجميع مبالغ المبيعات الشهرية والربع سنوية مسبقًا، مما يعني أنه إذا طلبنا بيانات شهرية أو ربع سنوية، فسيقدم لنا النظام النتيجة على الفور. لماذا لا يحدث التجميع المسبق دائمًا؟ لأن مجموعات السلع/الوقت/إلخ ممكنة نظريًا. يمكن أن يكون هناك عدد كبير، مما يعني أنك بحاجة إلى قواعد واضحة بشأن العناصر التي سيتم بناء التجميع عليها وتلك التي لن يتم بناؤها. بشكل عام، موضوع مراعاة هذه القواعد والتصميم الفعلي للتجمعات واسع النطاق ويستحق مقالة منفصلة في حد ذاته.

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

العمل مع الوقت
نظرًا لأن تحليل البيانات يتم بشكل أساسي في المناطق الزمنية، فإن الوقت يحظى بأهمية خاصة في أنظمة OLAP، مما يعني أنه بمجرد تحديد النظام حيث لدينا وقت هنا، يمكنك في المستقبل بسهولة استخدام وظائف مثل Year To Date، Month To Date (الفترة من بداية العام/الشهر إلى التاريخ الحالي)، الفترة الموازية (في نفس اليوم أو الشهر، لكن العام الماضي)، إلخ.

لغة الوصول إلى البيانات متعددة الأبعاد
MDX(التعبيرات متعددة الأبعاد) - لغة استعلام للوصول البسيط والفعال إلى هياكل البيانات متعددة الأبعاد. وهذا يوضح كل شيء – سيكون هناك بعض الأمثلة أدناه.

مؤشرات الأداء الرئيسية (KPI)
مؤشرات الأداء الرئيسيةهو نظام قياس مالي وغير مالي يساعد المنظمة على تحديد مدى تحقيق الأهداف الإستراتيجية. يمكن تعريف مؤشرات الأداء الرئيسية بكل بساطة في أنظمة OLAP واستخدامها في التقارير.

تاريخ التعدين
بيانات التعدين(التنقيب عن البيانات) - في الأساس، تحديد الأنماط المخفية أو العلاقات بين المتغيرات في مجموعات البيانات الكبيرة.
لا يحتوي المصطلح الإنجليزي "Data Mining" على ترجمة لا لبس فيها إلى اللغة الروسية (استخراج البيانات، واستخراج البيانات، واستخراج المعلومات، واستخراج البيانات/المعلومات) لذلك يتم استخدامه في معظم الحالات في الأصل. أنجح ترجمة غير مباشرة هي مصطلح "استخراج البيانات" (DMA). ومع ذلك، هذا موضوع منفصل لا يقل إثارة للاهتمام للنظر فيه.

التخزين المؤقت متعدد المستويات
في الواقع، لضمان أعلى سرعة للوصول إلى البيانات، بالإضافة إلى هياكل البيانات الصعبة والتجميعات المسبقة، تدعم أنظمة OLAP التخزين المؤقت متعدد المستويات. بالإضافة إلى التخزين المؤقت للاستعلامات البسيطة، يتم أيضًا تخزين أجزاء من البيانات المقروءة من المتجر والقيم المجمعة والقيم المحسوبة مؤقتًا أيضًا. وبالتالي، كلما طالت فترة العمل مع مكعب OLAP، كلما بدأ العمل بشكل أسرع. هناك أيضًا مفهوم "تسخين ذاكرة التخزين المؤقت" - وهي عملية تقوم بإعداد نظام OLAP للعمل مع تقارير أو استعلامات محددة أو جميعها مجتمعة.

دعم متعدد اللغات
نعم نعم نعم. كحد أدنى، تدعم Analysis Services 2005/2008 (على الرغم من إصدار Enterprise Edition) تعدد اللغات في الأصل. يكفي توفير ترجمة لمعلمات السلسلة الخاصة ببياناتك، وسيتلقى العميل الذي حدد لغته بيانات محلية.

مكعبات متعددة الأبعاد

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

في الواقع، سيكون المستوى (أو مجموعة كل هذه النقاط) هو المكعب، وبالتالي، سيكون الوقت والمنتجات والعملاء هي أبعاده.
من الأصعب قليلاً تخيل (ورسم) مكعب رباعي الأبعاد أو أكثر، لكن الجوهر لا يتغير، والأهم من ذلك، بالنسبة لأنظمة OLAP، لا يهم على الإطلاق عدد الأبعاد التي ستعمل بها (في حدود المعقول الحدود طبعا).

القليل من MDX

إذن، ما هو جمال MDX؟ على الأرجح، أننا لا نحتاج إلى وصف الطريقة التي نريد بها تحديد البيانات، ولكن ماذا بالضبطنحن نريد.
على سبيل المثال،
يختار
( . ) على الأعمدة،
( .، . ) على الصفوف
من
أين (.، .)

مما يعني أنني أريد معرفة عدد أجهزة iPhone المباعة في شهري يونيو ويوليو في موزمبيق.
وفي نفس الوقت أصف أيّهذه هي البيانات التي أريدها و كيفأريد رؤيتهم في التقرير.
جميلة، أليس كذلك؟

إليك الأمر الأكثر تعقيدًا بعض الشيء:

مع الأعضاء متوسط ​​الإنفاق AS
. / .
يختار
(متوسط ​​الإنفاق) على الأعمدة،
( ..، .. ) على الصفوف
من
أين (.)

* تم تمييز كود المصدر هذا باستخدام Source Code Highlighter.

في الواقع، نقوم أولاً بتحديد صيغة حساب "متوسط ​​حجم الشراء" ونحاول مقارنة من (أي جنس) ينفق المزيد من الأموال في زيارة واحدة لمتجر Apple.

اللغة نفسها مثيرة للاهتمام للغاية للدراسة والاستخدام، وربما تستحق الكثير من المناقشة.

خاتمة

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

ملاحظة.هذه هي مشاركتي الأولى حول OLAP وأول منشور على حبري - وسأكون ممتنًا جدًا للتعليقات البناءة.
تحديث:لقد قمت بنقله إلى SQL، وسوف أقوم بنقله إلى OLAP بمجرد أن يسمحوا لي بإنشاء مدونات جديدة.

العلامات: إضافة العلامات

كجزء من هذا العمل، سيتم النظر في القضايا التالية:

  • ما هي مكعبات OLAP؟
  • ما هي المقاييس والأبعاد والتسلسلات الهرمية؟
  • ما أنواع العمليات التي يمكن إجراؤها على مكعبات OLAP؟
مفهوم مكعب OLAP

الفرضية الرئيسية لـ OLAP هي تعدد الأبعاد في عرض البيانات. في مصطلحات OLAP، يتم استخدام مفهوم المكعب، أو المكعب الفائق، لوصف مساحة بيانات منفصلة متعددة الأبعاد.

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

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

قياسات- هذه هي عناصر البيانات التي يتم من خلالها تحليل الحقائق. تشكل مجموعة من هذه العناصر سمة البعد (على سبيل المثال، أيام الأسبوع يمكن أن تشكل سمة البعد الزمني). في مهام تحليل الأعمال للمؤسسات التجارية، غالبًا ما تتضمن الأبعاد فئات مثل "الوقت"، و"المبيعات"، و"المنتجات"، و"العملاء"، و"الموظفون"، و"الموقع الجغرافي". القياسات في أغلب الأحيان الهياكل الهرميةوهي فئات منطقية يمكن للمستخدم من خلالها تحليل البيانات الفعلية. يمكن أن يحتوي كل تسلسل هرمي على مستوى واحد أو أكثر. وبالتالي، فإن التسلسل الهرمي لبعد "الموقع الجغرافي" قد يشمل المستويات: "البلد - المنطقة - المدينة". في التسلسل الهرمي الزمني، يمكننا التمييز، على سبيل المثال، التسلسل التالي من المستويات: يمكن أن يحتوي البعد على عدة تسلسلات هرمية (يجب أن يكون لكل تسلسل هرمي لبعد واحد نفس السمة الرئيسية لجدول الأبعاد).

يمكن أن يحتوي المكعب على بيانات فعلية من جدول حقائق واحد أو أكثر، وغالبًا ما يحتوي على أبعاد متعددة. عادة ما يكون لأي مكعب معين تركيز محدد للتحليل.

ويبين الشكل 1 مثالاً لمكعب مصمم لتحليل مبيعات المنتجات البترولية من قبل شركة معينة حسب المنطقة. يحتوي هذا المكعب على ثلاثة أبعاد (الوقت والمنتج والمنطقة) ومقياس واحد (حجم المبيعات معبرًا عنه من الناحية النقدية). يتم تخزين قيم القياس في الخلايا المقابلة للمكعب. يتم تحديد كل خلية بشكل فريد من خلال مجموعة من الأعضاء من كل بعد، تسمى الصف. على سبيل المثال، يتم تحديد الخلية الموجودة في الركن الأيسر السفلي من المكعب (تحتوي على القيمة 98399 دولارًا) بواسطة الصف [يوليو 2005، الشرق الأقصى، ديزل]. هنا تظهر قيمة 98.399 دولارًا حجم مبيعات الديزل (من الناحية النقدية) في الشرق الأقصى لشهر يوليو 2005.

ومن الجدير بالذكر أيضًا أن بعض الخلايا لا تحتوي على أي قيم: هذه الخلايا فارغة لأن جدول الحقائق لا يحتوي على بيانات خاصة بها.

أرز. 1.مكعب يحتوي على معلومات عن مبيعات المنتجات البترولية في مختلف المناطق

الهدف النهائي من إنشاء مثل هذه المكعبات هو تقليل وقت معالجة الاستعلامات التي تستخرج المعلومات المطلوبة من البيانات الفعلية. لإنجاز هذه المهمة، تحتوي المكعبات عادةً على إجماليات محسوبة مسبقًا تسمى التجمعات(التجمعات). أولئك. يغطي المكعب مساحة بيانات أكبر من المساحة الفعلية - توجد به نقاط منطقية ومحسوبة. تتيح لك وظائف التجميع حساب قيم النقاط في المساحة المنطقية بناءً على القيم الفعلية. أبسط وظائف التجميع هي SUM، MAX، MIN، COUNT. لذلك، على سبيل المثال، باستخدام الدالة MAX، بالنسبة للمكعب الموضح في المثال، يمكنك تحديد متى حدثت ذروة مبيعات الديزل في الشرق الأقصى، وما إلى ذلك.

ميزة أخرى محددة للمكعبات متعددة الأبعاد هي صعوبة تحديد الأصل. على سبيل المثال، كيف يمكنك تعيين النقطة 0 لبُعد المنتج أو المناطق؟ الحل لهذه المشكلة هو تقديم سمة خاصة تجمع كل عناصر البعد. تحتوي هذه السمة (التي تم إنشاؤها تلقائيًا) على عنصر واحد فقط - الكل. بالنسبة لوظائف التجميع البسيطة مثل المجموع، فإن العنصر All يعادل مجموع قيم جميع العناصر الموجودة في المساحة الفعلية لبعد معين.

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

العمليات على مكعبات OLAP

يمكن تنفيذ العمليات التالية على مكعب OLAP:

  • شريحة؛
  • دوران؛
  • الدمج؛
  • تفصيل.
شريحة(الشكل 2) هي حالة خاصة للمكعب الفرعي. هذا هو إجراء لتشكيل مجموعة فرعية من مصفوفة بيانات متعددة الأبعاد تتوافق مع قيمة واحدة لواحد أو أكثر من عناصر البعد غير المضمنة في هذه المجموعة الفرعية. على سبيل المثال، لمعرفة كيفية تقدم مبيعات المنتجات البترولية بمرور الوقت في منطقة معينة فقط، وبالتحديد في جبال الأورال، تحتاج إلى تثبيت بُعد "المنتجات" على عنصر "الأورال" واستخراج المجموعة الفرعية المقابلة (المكعب الفرعي) من العنصر "الأورال" مكعب.
  • أرز. 2.شريحة مكعب OLAP

    دوران(شكل 3) - عملية تغيير مكان القياسات المقدمة في التقرير أو في الصفحة المعروضة. على سبيل المثال، قد تتضمن عملية التدوير إعادة ترتيب صفوف وأعمدة الجدول. بالإضافة إلى ذلك، يؤدي تدوير مكعب البيانات إلى نقل الأبعاد خارج الجدول إلى مكانها مع الأبعاد الموجودة على الصفحة المعروضة، والعكس صحيح.

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

    مستودعات البيانات (مكان OLAP في بنية معلومات المؤسسة)

    يرتبط مصطلح "OLAP" ارتباطًا وثيقًا بمصطلح "مستودع البيانات" (مستودع البيانات).

    إليكم التعريف الذي صاغه "الأب المؤسس" لتخزين البيانات، بيل إنمون: "مستودع البيانات عبارة عن مجموعة بيانات محددة النطاق ومحددة زمنياً وغير قابلة للتغيير لدعم اتخاذ القرارات الإدارية".

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

    لماذا نبني مستودعات البيانات - فهي تحتوي على معلومات زائدة عن الحاجة بشكل واضح والتي "تعيش" بالفعل في قواعد البيانات أو ملفات نظام التشغيل؟ يمكن أن تكون الإجابة مختصرة: من المستحيل أو من الصعب جدًا تحليل البيانات مباشرة من أنظمة التشغيل. ويرجع ذلك إلى أسباب مختلفة، بما في ذلك تجزئة البيانات وتخزينها بتنسيقات مختلفة لنظام إدارة قواعد البيانات وفي "زوايا" مختلفة. شبكة الشركة. ولكن حتى لو قامت إحدى المؤسسات بتخزين جميع بياناتها على خادم قاعدة بيانات مركزية (وهو أمر نادر للغاية)، فمن المؤكد تقريبًا أن المحلل لن يفهم هياكلها المعقدة والمربكة في بعض الأحيان. يتمتع المؤلف بتجربة حزينة للغاية في محاولة "إطعام" المحللين الجائعين ببيانات "خام" من أنظمة التشغيل - وقد تبين أن ذلك "أكثر من اللازم بالنسبة لهم".

    وبالتالي، فإن الغرض من المستودع هو توفير "المواد الخام" للتحليل في مكان واحد وبهيكل بسيط ومفهوم. كتب رالف كيمبال في مقدمة كتابه "مجموعة أدوات مستودع البيانات" أنه إذا فهم القارئ شيئًا واحدًا فقط، بعد قراءة الكتاب بأكمله - وهو أن هيكل المستودع يجب أن يكون بسيطًا - فسوف يأخذ المؤلف في الاعتبار كتابه تمت المهمة.

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

    في رأيي، لا يعني المستودع بالضرورة تراكما هائلا للبيانات - الشيء الرئيسي هو أنه مناسب للتحليل. بشكل عام، هناك مصطلح منفصل لمرافق التخزين الصغيرة - Data Marts (أكشاك البيانات)، ولكن في ممارساتنا الروسية لا تسمعه كثيرًا.

    OLAP - أداة تحليل مريحة

    المركزية والهيكلة المريحة ليست كل ما يحتاجه المحلل. لا يزال يحتاج إلى أداة لعرض المعلومات وتصورها. التقارير التقليدية، حتى تلك المبنية على مستودع واحد، تفتقر إلى شيء واحد - المرونة. ولا يمكن "تحريفها" أو "توسيعها" أو "طيها" للحصول على العرض المطلوب للبيانات. بالطبع، يمكنك الاتصال بمبرمج (إذا كان يريد أن يأتي)، وهو (إذا لم يكن مشغولا) سيقدم تقريرا جديدا بسرعة كافية - على سبيل المثال، في غضون ساعة (أنا أكتب هذا ولا أصدق) هذا بنفسي - لا يحدث الأمر بهذه السرعة في الحياة؛ فلنمنحه ثلاث ساعات). اتضح أن المحلل لا يمكنه اختبار أكثر من فكرتين في اليوم. ويمكنه (إذا كان محللاً جيدًا) أن يأتي بالعديد من هذه الأفكار في الساعة. وكلما زاد عدد "شرائح" و"أقسام" البيانات التي يراها المحلل، زادت الأفكار التي لديه، والتي بدورها تتطلب المزيد والمزيد من "الشرائح" للتحقق منها. لو كان لديه أداة تسمح له بتوسيع البيانات وطيها ببساطة وسهولة! يعمل OLAP كأداة من هذا القبيل.

    على الرغم من أن OLAP ليس سمة ضرورية لمستودع البيانات، إلا أنه يتم استخدامه بشكل متزايد لتحليل المعلومات المتراكمة في المستودع.

    تظهر المكونات المضمنة في المستودع النموذجي في الشكل. 1.

    أرز. 1. هيكل مستودع البيانات

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

    لتلخيص ذلك، يمكننا تعريف OLAP كمجموعة من الأدوات للتحليل متعدد الأبعاد للبيانات المتراكمة في المستودع. من الناحية النظرية، يمكن تطبيق أدوات OLAP مباشرة على البيانات التشغيلية أو نسخها الدقيقة (حتى لا تتداخل مع المستخدمين التشغيليين). لكننا بذلك نجازف بالدوس على أشعل النار الموصوفة بالفعل أعلاه، أي البدء في تحليل البيانات التشغيلية غير المناسبة للتحليل بشكل مباشر.

    التعريف والمفاهيم الأساسية لـ OLAP

    أولاً، دعونا نفك التشفير: OLAP هو معالجة تحليلية عبر الإنترنت، أي تحليل البيانات التشغيلية. تمت صياغة المبادئ الـ 12 المحددة لـ OLAP في عام 1993 على يد إي إف كود، "مخترع" قواعد البيانات العلائقية. لاحقًا، تمت إعادة صياغة تعريفه ليصبح ما يسمى باختبار FASMI، والذي يتطلب أن يوفر تطبيق OLAP القدرة على تحليل المعلومات المشتركة متعددة الأبعاد بسرعة ().

    اختبار فسمي

    سريع(سريع) - يجب إجراء التحليل بنفس السرعة على جميع جوانب المعلومات. وقت الاستجابة المقبول هو 5 ثواني أو أقل.

    تحليل(التحليل) - يجب أن يكون من الممكن تنفيذ الأنواع الأساسية من التحليل العددي والإحصائي، المحددة مسبقًا من قبل مطور التطبيق أو المحددة بحرية من قبل المستخدم.

    مشترك(مشترك) - يجب أن يكون لدى العديد من المستخدمين حق الوصول إلى البيانات، في حين أنه من الضروري التحكم في الوصول إلى المعلومات السرية.

    متعدد الأبعاد(متعدد الأبعاد) هي السمة الرئيسية والأكثر أهمية لـ OLAP.

    معلومة(المعلومات) - يجب أن يكون التطبيق قادرًا على الوصول إلى أي معلومات ضرورية، بغض النظر عن حجمها وموقع تخزينها.

    OLAP = عرض متعدد الأبعاد = مكعب

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

    كما هو مقيس في المكعب ثلاثي الأبعاد الموضح في الشكل. 2، يتم استخدام مبالغ المبيعات، ويتم استخدام الوقت والمنتج والمتجر كأبعاد. يتم عرض القياسات على مستويات محددة من التجميع: يتم تجميع المنتجات حسب الفئة، والمتاجر حسب البلد، وبيانات توقيت المعاملة حسب الشهر. وبعد ذلك بقليل سوف ننظر إلى مستويات التجميع (التسلسل الهرمي) بمزيد من التفصيل.


    أرز. 2. مثال المكعب

    "قطع" مكعب

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

    يمكن الحصول على تمثيل ثنائي الأبعاد للمكعب عن طريق “قطعه” عبر محور واحد أو أكثر (الأبعاد): نثبت قيم جميع الأبعاد ما عدا اثنين، ونحصل على جدول منتظم ثنائي الأبعاد. يمثل المحور الأفقي للجدول (رؤوس الأعمدة) بُعدًا واحدًا، ويمثل المحور الرأسي (رؤوس الصفوف) بُعدًا آخر، وتمثل خلايا الجدول قيم المقاييس. في هذه الحالة، تعتبر مجموعة المقاييس في الواقع أحد الأبعاد - فإما أن نختار مقياسًا واحدًا لعرضه (ومن ثم يمكننا وضع بعدين في عناوين الصفوف والأعمدة)، أو نعرض عدة مقاييس (ثم أحد الأبعاد) محاور الجدول ستشغلها أسماء المقاييس، والأخرى - قيم البعد الوحيد "غير المقطوع").

    نلقي نظرة على الشكل. 3 - هنا شريحة ثنائية الأبعاد من المكعب لقياس واحد - مبيعات الوحدة (القطع المباعة) وبعدين "غير مقطوعين" - المتجر (المتجر) والوقت (الوقت).


    أرز. 3. شريحة مكعبة ثنائية الأبعاد لقياس واحد

    في التين. يعرض الشكل 4 بُعدًا واحدًا فقط "غير مقطوع" - المتجر، ولكنه يعرض قيم عدة مقاييس - مبيعات الوحدات (الوحدات المباعة)، ومبيعات المتجر (مبلغ البيع) وتكلفة المتجر (نفقات المتجر).


    أرز. 4. شريحة مكعبة ثنائية الأبعاد لقياسات متعددة

    من الممكن أيضًا تمثيل المكعب ثنائي الأبعاد عندما يظل أكثر من بعدين "غير مقطوعين". في هذه الحالة، سيتم وضع بعدين أو أكثر من المكعب "المقطع" على محاور الشريحة (الصفوف والأعمدة) - انظر الشكل 1. 5.


    أرز. 5. شريحة مكعبة ثنائية الأبعاد ذات أبعاد متعددة على محور واحد

    العلامات

    تسمى القيم "الموضعة" على طول الأبعاد أعضاء أو تسميات. يتم استخدام التسميات "لقص" المكعب ولتحديد (تصفية) البيانات المحددة - عندما لا نكون مهتمين بجميع القيم في البعد الذي يظل "غير مقطوع"، ولكن بمجموعة فرعية منها، على سبيل المثال، ثلاث مدن من بين عدة عشرات. تظهر قيم التسمية في عرض المكعب ثنائي الأبعاد كعناوين للصفوف والأعمدة.

    التسلسلات الهرمية والمستويات

    يمكن دمج التسميات في تسلسلات هرمية تتكون من مستوى واحد أو أكثر. على سبيل المثال، يتم تجميع تسميات بُعد المتجر بشكل طبيعي في تسلسل هرمي بمستويات:

    دولة

    ولاية

    مدينة

    محل.

    يتم حساب القيم الإجمالية وفقًا لمستويات التسلسل الهرمي، على سبيل المثال حجم المبيعات للولايات المتحدة الأمريكية (مستوى الدولة) أو كاليفورنيا (مستوى الولاية). من الممكن تنفيذ أكثر من تسلسل هرمي في بعد واحد - مثلاً للزمن: (سنة، ربع، شهر، يوم) و (سنة، أسبوع، يوم).

    هندسة تطبيقات OLAP

    كل ما قيل أعلاه حول OLAP يتعلق بشكل أساسي بالعرض متعدد الأبعاد للبيانات. إن كيفية تخزين البيانات، بشكل تقريبي، لا تهم المستخدم النهائي أو مطوري الأداة التي يستخدمها العميل.

    يمكن تقسيم تعدد الأبعاد في تطبيقات OLAP إلى ثلاثة مستويات:

    • تمثيل البيانات متعدد الأبعاد - أدوات المستخدم النهائي التي توفر تصورًا متعدد الأبعاد ومعالجة البيانات؛ طبقة تمثيل متعدد الأبعاديستخلص من البنية المادية للبيانات وينظر إلى البيانات على أنها متعددة الأبعاد.
    • معالجة متعددة الأبعاد - أداة (لغة) لصياغة استعلامات متعددة الأبعاد (العلائقية التقليدية لغة SQLتبين أنه غير مناسب هنا) ومعالج قادر على معالجة وتنفيذ مثل هذا الطلب.
    • التخزين متعدد الأبعاد هو وسيلة لتنظيم البيانات فعليًا مما يضمن التنفيذ الفعال للاستعلامات متعددة الأبعاد.

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

    منتجات OLAP المحددة، كقاعدة عامة، هي إما أداة تمثيل بيانات متعددة الأبعاد، أو عميل OLAP (على سبيل المثال، Pivot Tables في Excel 2000 من Microsoft أو ProClarity من Knosys)، أو خادم متعدد الأبعاد DBMS، أو خادم OLAP (على سبيل المثال، Oracle Express Server أو خدمات Microsoft OLAP).

    عادة ما تكون طبقة المعالجة متعددة الأبعاد مدمجة في عميل OLAP و/أو خادم OLAP، ولكن يمكن عزلها في شكلها النقي، مثل مكون خدمة Pivot Table من Microsoft.

    الجوانب التقنية لتخزين البيانات متعددة الأبعاد

    كما ذكر أعلاه، يمكن لأدوات تحليل OLAP أيضًا استخراج البيانات مباشرةً من الأنظمة العلائقية. كان هذا النهج أكثر جاذبية في تلك الأيام عندما لم يتم تضمين خوادم OLAP في قوائم الأسعار الخاصة بالمصنعين الرائدين لنظام إدارة قواعد البيانات (DBMS). لكن اليوم، تقدم Oracle وInformix وMicrosoft خوادم OLAP كاملة، وحتى مديري تكنولوجيا المعلومات الذين لا يرغبون في إنشاء "حديقة حيوانات" من البرامج من شركات مصنعة مختلفة في شبكاتهم يمكنهم الشراء (أو بالأحرى، تقديم طلب مقابل إلى إدارة الشركة) خادم OLAP من نفس العلامة التجارية لخادم قاعدة البيانات الرئيسية.

    يمكن لخوادم OLAP، أو خوادم قواعد البيانات متعددة الأبعاد، تخزين بياناتها متعددة الأبعاد بطرق مختلفة. قبل النظر في هذه الأساليب، علينا أن نتحدث عن جانب مهم مثل وحدات التخزين. والحقيقة هي أنه في أي مستودع بيانات - عادي ومتعدد الأبعاد - إلى جانب البيانات التفصيلية المستخرجة من أنظمة التشغيل، يتم أيضًا تخزين المؤشرات الموجزة (المؤشرات المجمعة، والتجميعات)، مثل مجموع أحجام المبيعات حسب الشهر، حسب فئة البضائع، وما إلى ذلك. يتم تخزين المجاميع بشكل صريح لغرض وحيد وهو تسريع تنفيذ الاستعلامات. بعد كل شيء، من ناحية، كقاعدة عامة، يتم تجميع كمية كبيرة جدًا من البيانات في المستودع، ومن ناحية أخرى، لا يهتم المحللون في معظم الحالات بالمؤشرات التفصيلية، ولكن بالمؤشرات المعممة. وإذا كان لا بد من إضافة ملايين المبيعات الفردية في كل مرة لحساب إجمالي المبيعات لهذا العام، فمن المرجح أن تكون السرعة غير مقبولة. لذلك، عند تحميل البيانات في قاعدة بيانات متعددة الأبعاد، يتم حساب وتخزين جميع المؤشرات الإجمالية أو جزء منها.

    ولكن، كما تعلمون، عليك أن تدفع ثمن كل شيء. وبالنسبة لسرعة معالجة طلبات البيانات الموجزة، عليك أن تدفع مقابل زيادة في حجم البيانات ووقت تحميلها. علاوة على ذلك، يمكن أن تصبح الزيادة في الحجم كارثية حرفيا - في أحد المنشورات الاختبارات الموحدةيتطلب الحساب الكامل للمجاميع لـ 10 ميجابايت من البيانات الأصلية 2.4 جيجابايت، أي زادت البيانات 240 مرة! وتعتمد درجة "تضخم" البيانات عند حساب المجاميع على عدد أبعاد المكعب وبنية هذه الأبعاد، أي نسبة عدد "الآباء" و"الأبناء" عند مستويات قياس مختلفة. لحل مشكلة تخزين المجاميع، يتم في بعض الأحيان استخدام مخططات معقدة، مما يجعل من الممكن تحقيق زيادة كبيرة في أداء الاستعلام عند حساب ليس كل المجاميع الممكنة.

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

    • مولاب(OLAP متعدد الأبعاد) - يتم تخزين كل من البيانات التفصيلية والمجاميع في قاعدة بيانات متعددة الأبعاد. في هذه الحالة، يتم الحصول على أكبر قدر من التكرار، حيث أن البيانات متعددة الأبعاد تحتوي بالكامل على بيانات علائقية.
    • رولاب(OLAP العلائقية) - تظل البيانات التفصيلية حيث "عاشت" في الأصل - في قاعدة البيانات العلائقية؛ يتم تخزين المجاميع في نفس قاعدة البيانات في جداول الخدمة المنشأة خصيصًا.
    • هولاب(Hybrid OLAP) - تظل البيانات التفصيلية في مكانها (في قاعدة بيانات علائقية)، ويتم تخزين المجاميع في قاعدة بيانات متعددة الأبعاد.

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

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

    يتبع. في المستقبل، سنتحدث عن منتجات OLAP المحددة التي تنتجها الشركات المصنعة الرائدة.

    04/07/2011 ديريك كومينجور

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

    ما هو المكعب؟

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

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

    المكعب هو بنية البيانات المركزية في نظام التشغيلتحليل بيانات OLAP للخدمات التحليلية لـ SQL Server (SSAS). عادةً ما يتم إنشاء المكعبات من قاعدة بيانات علائقية أساسية تسمى نموذج الأبعاد، ولكنها كيانات فنية منفصلة. منطقيًا، المكعب عبارة عن مستودع بيانات يتكون من أبعاد (أبعاد) وقياسات (مقاييس). تحتوي الأبعاد على ميزات وصفية وتسلسلات هرمية، بينما الأبعاد هي الحقائق التي تصفها في الأبعاد. يتم تجميع الأبعاد في مجموعات منطقية تسمى مجموعات الأبعاد. يمكنك ربط الأبعاد بمجموعات القياس بناءً على خاصية معينة - درجة التفاصيل.

    في نظام الملفاتيتم تنفيذ المكعب كسلسلة من الملفات الثنائية المرتبطة. تسهل البنية الثنائية للمكعب الاسترجاع السريع لكميات كبيرة من البيانات متعددة الأبعاد.

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

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

    متطلبات البرنامج

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

    سيتم إنشاء المثال الخاص بي لمكعب مبيعات الإنترنت من قاعدة بيانات اختبار AdventureWorksDW 2005. سأقوم بإنشاء مكعب الاختبار من مجموعة فرعية من الجداول الموجودة في قاعدة بيانات الاختبار والتي ستكون مفيدة لتحليل بيانات المبيعات عبر الإنترنت. ويبين الشكل 1 التخطيط الأساسي لجداول قاعدة البيانات. وبما أنني أستخدم الإصدار 2005، يمكنك اتباع تعليماتي باستخدام SQL Server 2005 أو SQL Server 2008.

    الشكل 1. مجموعة فرعية من سوق بيانات مبيعات Adventure Works عبر الإنترنت

    يمكن العثور على قاعدة بيانات تدريب Adventure WorksDW 2005 على موقع CodePlex الإلكتروني: msftdbprodsamples.codeplex.com. ابحث عن الارتباط "لا تزال قواعد بيانات نماذج منتجات SQL Server 2005 متوفرة" (http://codeplex.com/MSFTDBProdSamples/Release/ProjectReleases.aspx?ReleaseId=4004). قاعدة بيانات التدريب موجودة في الملف AdventureWorksBI.msi (http://msftdbprodsamples.codeplex.com/releases/view/4004#DownloadId=11755).

    كما ذكرنا سابقًا، يجب أن يكون لديك حق الوصول إلى مثيل SQL Server 2008 أو 2005، بما في ذلك مكونات SSAS وBusiness Intelligence Development Studio (BIDS). سأستخدم SQL Server 2008، لذا قد ترى بعض الاختلافات الدقيقة إذا كنت تستخدم SQL Server 2005.

    إنشاء مشروع SSAS

    أول شيء يجب عليك فعله هو إنشاء مشروع SSAS باستخدام BIDS. ابحث عن عروض الأسعار في القائمة "ابدأ" ثم في قائمة Microsoft SQL Server 2008/2005، العنصر الفرعي SQL Server Business Intelligence Development Studio. سيؤدي النقر فوق هذا الزر إلى تشغيل BIDS مع شاشة البداية الافتراضية. يخلق مشروع جديد SSAS عن طريق تحديد ملف، جديد، مشروع. سترى مربع الحوار مشروع جديد، الذي يوضحه الشكل 1. حدد مجلد مشروع خدمات التحليل وقم بتعيين وصف المشروع على SQLMAG_MyFirstCube. انقر فوق موافق.

    بمجرد إنشاء المشروع، انقر بزر الماوس الأيمن عليه في Solution Explorer وحدد قائمة السياقعنصر الخصائص. الآن حدد قسم النشر على الجانب الأيسر من مربع الحوار SQLMAG_MyFirstCube: صفحات الخصائص وراجع إعدادات إعدادات الخادم الهدف وقاعدة البيانات، كما يوضح الشكل 2. إذا كنت تعمل في بيئة SQL Server موزعة، فستحتاج إلى التأهل خاصية "الخادم الهدف" مع اسم الخادم الذي ستقوم بالنشر إليه. انقر فوق "موافق" عندما تكون راضيًا عن إعدادات النشر لمشروع SSAS هذا.

    تحديد مصدر البيانات

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

    ابدأ معالج مصدر البيانات بالنقر بزر الماوس الأيمن على مجلد مصدر البيانات في لوحة Solution Explorer وتحديد مصدر بيانات جديد. ستجد أن إنشاء كائنات SSAS في BIDS له طبيعة تطويرية. يرشدك المعالج أولاً خلال عملية إنشاء الكائن والإعدادات العامة. ثم تقوم بفتح كائن SSAS الناتج في المصمم وتخصيصه بالتفصيل إذا لزم الأمر. بمجرد تجاوز شاشة المطالبة، قم بتحديد اتصال بيانات جديد بالنقر فوق الزر جديد. تحديد وإنشاء اتصال جديد استنادًا إلى Native OLEDB\SQL Server Native Client 10 الذي يشير إلى الاتصال الذي تريده خادم قاعدة البياناتالخادم الذي يمتلك مثيل قاعدة البيانات المطلوبة. يمكنك استخدام مصادقة Windows أو SQL Server، اعتمادًا على إعدادات بيئة SQL Server لديك. انقر فوق الزر اختبار الاتصال للتأكد من أنك قمت بتحديد اتصال قاعدة البيانات بشكل صحيح، ثم انقر فوق موافق.

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

    عرض مصدر البيانات

    بالنسبة لمصدر البيانات الذي حددته، فإن الخطوة التالية في عملية إنشاء مكعب SSAS هي إنشاء طريقة عرض مصدر البيانات (DSV). يوفر DSV القدرة على فصل المخطط الذي يتوقعه المكعب الخاص بك عن مخطط قاعدة البيانات الأساسية. ونتيجة لذلك، يمكن استخدام DSV لتوسيع المخطط العلائقي الأساسي عند إنشاء مكعب. تتضمن بعض الميزات الأساسية لـ DSV لتوسيع مخططات مصدر البيانات الاستعلامات المسماة والعلاقات المنطقية بين الجداول والأعمدة المحسوبة المسماة.

    دعنا نمضي قدمًا وننقر بزر الماوس الأيمن على مجلد DSV ونحدد عرض مصدر البيانات الجديد لتشغيل معالج إنشاء عرض DSV جديد. في مربع الحوار، في خطوة تحديد مصدر البيانات، حدد اتصال قاعدة بيانات علائقية وانقر فوق التالي. حدد جداول FactInternetSales وDimProduct وDimTime وDimCustomer وانقر فوق زر السهم الأيمن الفردي لنقل هذه الجداول إلى العمود Included. وأخيرًا، انقر فوق "التالي" وأكمل المعالج من خلال قبول الاسم الافتراضي والنقر فوق "إنهاء".

    عند هذه النقطة، يجب أن يكون لديك طريقة عرض DSV موجودة ضمن مجلد طرق عرض مصدر البيانات في Solution Explorer. انقر نقرًا مزدوجًا على DSV الجديد لتشغيل مصمم DSV. من المفترض أن تشاهد كافة الجداول الأربعة لـ DSV معين، كما هو موضح في الشكل 2.

    إنشاء أبعاد قاعدة البيانات

    كما أوضحت أعلاه، توفر الأبعاد ميزات وصفية للأبعاد والتسلسلات الهرمية المستخدمة لتمكين التجميع فوق مستوى التفاصيل. من المهم فهم الفرق بين بُعد قاعدة البيانات وبُعد المكعب: توفر الأبعاد من قاعدة البيانات كائنات البعد الأساسي للأبعاد المتعددة للمكعب التي سيتم استخدامها لبناء المكعب.

    توفر أبعاد قاعدة البيانات والمكعب حلاً أنيقًا لمفهوم يُعرف باسم "أبعاد الدور". يتم استخدام الأبعاد المستندة إلى الدور عندما تحتاج إلى استخدام بُعد واحد في مكعب عدة مرات. يعد التاريخ مثالاً مثاليًا في هذا المثيل المكعب: ستقوم بإنشاء بُعد تاريخ واحد والإشارة إليه مرة واحدة لكل تاريخ تريد تحليل المبيعات عبر الإنترنت له. سيكون تاريخ التقويم هو البعد الأول الذي تقوم بإنشائه. انقر بزر الماوس الأيمن فوق مجلد Dimensions في Solution Explorer وحدد New Dimension لبدء تشغيل Dimension Wizard. حدد استخدام جدول موجود وانقر فوق "التالي" في خطوة "تحديد طريقة الإنشاء". في خطوة تحديد معلومات المصدر، حدد جدول DimTime في القائمة المنسدلة للجدول الرئيسي وانقر فوق التالي. الآن، في خطوة تحديد سمات البعد، تحتاج إلى تحديد سمات البعد الزمني. حدد كل سمة، كما يظهر في الشكل 3.

    انقر فوق {التالي. كخطوة أخيرة، أدخل Dim Date في حقل الاسم وانقر فوق Finish لإكمال معالج البعد. يجب أن تشاهد الآن بُعد Dim Date الجديد الموجود ضمن مجلد Dimensions في Solution Explorer.

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

    إنشاء مكعب مبيعات عبر الإنترنت

    الآن بعد أن قمت بإعداد أبعاد قاعدة البيانات، يمكنك البدء في إنشاء المكعب. في Solution Explorer، انقر بزر الماوس الأيمن فوق مجلد Cubes وحدد New Cube لتشغيل Cube Wizard. في نافذة تحديد طريقة الإنشاء، حدد خيار استخدام الجداول الموجودة. حدد جدول FactInternetSales لمجموعة القياس في خطوة تحديد جداول مجموعة القياس. قم بإلغاء تحديد المربعات الموجودة بجوار أبعاد مفتاح الترويج ومفتاح العملة ومفتاح منطقة المبيعات ورقم المراجعة في خطوة تحديد التدابير وانقر فوق التالي.

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

    انقر فوق "التالي" للانتقال إلى خطوة "إكمال المعالج" وأدخل "My First Cube" في الحقل "اسم المكعب". انقر فوق الزر "إنهاء" لإكمال عملية إنشاء معالج المكعب.

    توسيع ومعالجة المكعب

    أنت الآن جاهز لنشر ومعالجة المكعب الأول. انقر بزر الماوس الأيمن فوق رمز المكعب الجديد في Solution Explorer وحدد Process. سيظهر لك مربع رسالة يفيد بأن المحتوى يبدو قديمًا. انقر فوق نعم لنشر المكعب الجديد إلى خادم SSAS الهدف. عند نشر مكعب تقوم بإرساله ملف XMLللتحليل (XMLA) إلى خادم SSAS الهدف، مما يؤدي إلى إنشاء مكعب على الخادم نفسه. كما ذكرنا سابقًا، تعمل معالجة المكعب على ملء ثنائياته الموجودة على القرص ببيانات من المصدر الرئيسي، بالإضافة إلى بيانات التعريف الإضافية التي أضفتها (أبعاد المكعب وأبعاده وإعداداته).

    بمجرد اكتمال عملية النشر، يظهر مربع حوار Process Cube جديد. انقر فوق الزر "تشغيل" لبدء معالجة المكعب، والذي يفتح مع نافذة "تقدم العملية". عند اكتمال المعالجة، انقر فوق إغلاق (مرتين لإغلاق مربعي الحوار) لإكمال عمليات نشر المكعب ومعالجته.

    لقد قمت الآن ببناء ونشر ومعالجة المكعب الأول الخاص بك. يمكنك عرض هذا المكعب الجديد بالنقر بزر الماوس الأيمن عليه في نافذة Solution Explorer واختيار Browse. اسحب الأبعاد إلى وسط الجدول المحوري وسمات الأبعاد إلى الصفوف والأعمدة لاستكشاف المكعب الجديد الخاص بك. لاحظ مدى سرعة معالجة المكعب لاستعلامات التجميع المختلفة. يمكنك الآن تقدير القوة غير المحدودة، وبالتالي القيمة التجارية، لمكعب OLAP.

    ديريك كومينجور ( [البريد الإلكتروني محمي]) هو أحد كبار المهندسين المعماريين في شركة B. I. Voyage، التي تتمتع بوضع شريك Microsoft في مجال تحليلات الأعمال. لديه لقب SQL Server MVP والعديد من شهادات Microsoft





  • 
    قمة