التعبيرات متعددة الأبعاد

لغة MDX ( التعبيرات متعددة الأبعاد ) هي لغة استعلام لمعالجة البيانات التحليلية الفورية (OLAP) باستخدام نظام إدارة قواعد البيانات . وهي، مثل لغة SQL ، لغة استعلام لمكعبات OLAP . [ 1 ] كما أنها لغة حسابية، ذات بنية مشابهة لصيغ جداول البيانات.

خلفية

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

تاريخ

طُرحت لغة MDX لأول مرة كجزء من مواصفات OLE DB لـ OLAP في عام 1997 من قِبل شركة مايكروسوفت . وقد ابتكرها فريق من مهندسي SQL Server، بمن فيهم موشا باسومانسكي . وسرعان ما أعقب هذه المواصفات إصدار تجاري لخدمات مايكروسوفت OLAP 7.0 في عام 1998، ثم خدمات مايكروسوفت للتحليل . وأصدرت مايكروسوفت أحدث نسخة من مواصفات OLE DB لـ OLAP في عام 1999.

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

أشارت مواصفات XML للتحليل إلى مواصفات OLE DB لـ OLAP للحصول على تفاصيل حول لغة استعلام MDX. في خدمات التحليل 2005، أضافت مايكروسوفت بعض امتدادات لغة استعلام MDX، مثل الاستعلامات الفرعية. وبدأت منتجات مثل مايكروسوفت إكسل 2007 باستخدام هذه الامتدادات الجديدة. ويُشار إلى هذا الإصدار الأحدث من MDX باسم MDX 2005.

mdXML

في عام ٢٠٠١، أصدر مجلس XMLA معيار XML للتحليل (XMLA)، والذي تضمن mdXML كلغة استعلام. في مواصفات XMLA 1.1، يُعد mdXML في جوهره MDX مُغلّفًا <Statement>بعلامة XML.

أنواع بيانات MDX

يوجد ستة أنواع بيانات أساسية في لغة MDX

  • القيمة العددية . القيمة العددية إما أن تكون رقمًا أو سلسلة نصية . يمكن تحديدها كقيمة حرفية، مثل الرقم 5 أو السلسلة النصية "OLAP"، أو يمكن إرجاعها بواسطة دالة MDX، مثل Aggregate(رقم)، UniqueName(سلسلة نصية)، .Value(رقم أو سلسلة نصية) إلخ.
  • البُعد / التسلسل الهرمي . البُعد هو بُعدٌ من أبعاد المكعب . وهو مُنظِّمٌ أساسيٌّ لمعلومات القياس والسمات في المكعب. لا يُدرك MDX أيَّ تبعيات بين الأبعاد، ولا يفترضها، إذ يُفترض أنها مستقلةٌ عن بعضها. يحتوي البُعد على بعض العناصر (انظر أدناه) مُنظَّمة في تسلسل هرمي أو تسلسلات هرمية تحتوي على مستويات. يُمكن تحديده باسمه الفريد، [Time]أو يُمكن إرجاعه بواسطة دالة MDX .Dimension. التسلسل الهرمي هو تسلسل هرمي للأبعاد في المكعب . يُمكن تحديده باسمه الفريد، أو يُمكن إرجاعه بواسطة دالة MDX . تُضمَّن التسلسلات الهرمية داخل الأبعاد. ( لا تُميِّز مواصفات OLEDB لـ OLAP MDX بين أنواع بيانات البُعد والتسلسل الهرمي. بعض التطبيقات، مثل Microsoft Analysis Services، تُعاملها بشكلٍ مختلف ) .[Time].[Fiscal].Hierarchy
  • المستوى . المستوى هو مستوى في التسلسل الهرمي للأبعاد. يمكن تحديده باسمه الفريد، على سبيل المثال، [Time].[Fiscal].[Month]أو يمكن إرجاعه بواسطة دالة MDX، على سبيل المثال .Level.
  • العضو . العضو هو عنصر في تسلسل هرمي للأبعاد. يمكن تحديده باسمه الفريد، مثلاً [Time].[Fiscal].[Month].[August 2006]، أو باسم مؤهل، مثلاً، [Time].[Fiscal].[2006].[Q3].[August 2006]أو يتم إرجاعه بواسطة دالة MDX، مثلاً .PrevMember، إلخ .Parent. .FirstChildلاحظ أن جميع الأعضاء خاصة بتسلسل هرمي معين. إذا كان المنتج نفسه عضوًا في تسلسلين هرميين مختلفين ( [Product].[ByManufacturer]و [Product].[ByCategory])، فسيكون هناك عضوان مختلفان مرئيان قد يحتاجان إلى التنسيق في مجموعات وصفوف (انظر أدناه).
  • المجموعة المرتبة (Tuple ) هي مجموعة مرتبة من عنصر واحد أو أكثر من أبعاد مختلفة. يمكن تحديد المجموعات المرتبة عن طريق تعداد العناصر، على سبيل المثال، ([Time].[Fiscal].[Month].[August], [Customer].[By Geography].[All Customers].[USA], [Measures].[Sales])أو عن طريق إرجاعها بواسطة دالة MDX، على سبيل المثال .Item.
  • المجموعة (Set) هي مجموعة مرتبة من الصفوف ذات الأبعاد المتشابهة، أو التسلسل الهرمي في حالة تطبيق مايكروسوفت. يمكن تحديدها عن طريق تعداد الصفوف، {([Measures].[Sales], [Time].[Fiscal].[2006]), ([Measures].[Sales], [Time].[Fiscal].[2007])}أو إرجاعها بواسطة دالة أو عامل MDX، Crossjoinمثلاً Filter، إلخ Order.Descendants
  • أنواع البيانات الأخرى. تُعادل خصائص الأعضاء السمات في سياق مستودع البيانات. ويمكن استرجاعها بالاسم في استعلام من خلال عبارة PROPERTIES الخاصة بالمحور. ويمكن الوصول إلى قيمة البيانات العددية لخاصية عضو ما في تعبير باستخدام MDX، إما بتسمية الخاصية (على سبيل المثال، [Product].CurrentMember.[Sales Price]) أو باستخدام دالة وصول خاصة (على سبيل المثال، [Product].CurrentMember.Properties("Sales Price")). في سياقات محدودة، يسمح MDX بأنواع بيانات أخرى أيضًا - على سبيل المثال، يمكن استخدام المصفوفةSetToArray داخل الدالة لتحديد مصفوفة لا تتم معالجتها بواسطة MDX ولكن يتم تمريرها إلى دالة معرفة من قبل المستخدم في مكتبة ActiveX. يتم تمثيل كائنات أنواع البيانات الأخرى كسلاسل عددية تشير إلى أسماء الكائنات، مثل اسم مجموعة القياس في دالة Microsoft أو اسم مؤشر الأداء الرئيسي في دوال Microsoft أو MeasureGroupMeasuresعلى سبيل المثال .KPIValueKPIGoal

مثال على الاستعلام

يُظهر المثال التالي، المُقتبس من دليل SQL Server 2000 الإلكتروني، استعلام MDX أساسيًا يستخدم عبارة SELECT. يُعيد هذا الاستعلام مجموعة نتائج تحتوي على بيانات مبيعات المتاجر في ولاية كاليفورنيا لعامي 2002 و2003.

يختار{ [ المقاييس ] . [ مبيعات المتجر ] } على الأعمدة ،{ [ التاريخ ] . [ 2002 ] ، [ التاريخ ] . [ 2003 ] } في الصفوفمن قسم المبيعاتWHERE ( [ Store ] . [ USA ] . [ CA ] )

في هذا المثال، يحدد الاستعلام معلومات مجموعة النتائج التالية

  • تحدد عبارة SELECT محاور الاستعلام كعضو مبيعات المتجر في بُعد القياسات، وعضوي 2002 و2003 في بُعد التاريخ.
  • تشير عبارة FROM إلى أن مصدر البيانات هو مكعب المبيعات.
  • تحدد عبارة WHERE "محور التصفية" على أنه عنصر كاليفورنيا من بُعد المتجر.

ملاحظة: يمكنك تحديد ما يصل إلى 128 محور استعلام في استعلام MDX.

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

يختار[ المقاييس ] . [ مبيعات المتجر ] على الأعمدة ،[ التاريخ ] . الأعضاء في الصفوفمن قسم المبيعاتWHERE ( [ Store ] . [ USA ] . [ CA ] )

مراجع

  1. 1 2 كارل نولان. "معالجة بيانات OLAP والاستعلام عنها باستخدام ADOMD والتعبيرات متعددة الأبعاد" . مايكروسوفت . تم الاسترجاع في 5 مارس 2008 .

للمزيد من القراءة

  • جورج سبوفورد، سيفاكومار هاريناث، كريس ويب، ديلان هاي هوانغ، فرانشيسكو سيفاردي: حلول MDX: مع خدمات تحليل Microsoft SQL Server 2005 وHyperion Essbase . وايلي، 2006، ISBN 0-471-74808-0
  • موشا باسومانسكي ، مارك وايت هورن، روب زار: الطريق السريع إلى إم دي إكس . رقم الكتاب المعياري الدولي 1-84628-174-1
  • لاري ساكيت: إعداد التقارير والتحليلات باستخدام لغة MDX مع SAP NetWeaver BW . دار نشر SAP، 2008، 978-1-59229-249-3