ما هي أفضل طريقة لإدراج العضو وجميع فروعه في MDX؟

StackOverflow https://stackoverflow.com/questions/147953

  •  02-07-2019
  •  | 
  •  

سؤال

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

HIERARCHIZE({
[Location].[Test Company], 
Descendants([Location].[Test Company], [Location].[Region]), 
Descendants([Location].[Test Company], [Location].[Area]), 
Descendants([Location].[Test Company], [Location].[Site])
})

نظرًا لأن معرفتي بـ MDX محدودة، كنت أتساءل عما إذا كانت هناك طريقة أبسط للقيام بذلك، باستخدام أمر واحد بدلاً من أربعة أوامر؟هل هناك طريقة أقل تفصيلاً لتحقيق ذلك، أم أن مثالي هو الطريقة الحقيقية الوحيدة لتحقيق ذلك؟

هل كانت مفيدة؟

المحلول

DESCENDANTS([Location].[Test Company],[Location].[Site], SELF_AND_BEFORE)

نصائح أخرى

الأمر الذي تريده هو DESCENDANTS.ضع تشبيه "شجرة العائلة" في الاعتبار، ويمكنك أن ترى أن هذا سيدرج أحفاد العضو، بالقدر الذي تريده.

يمكنك تحديد "المسافة" (في المستويات) من العضو المختار، 3 في حالتك.

هناك بعض الخيارات الغريبة التي يمكنك تحديدها باستخدام الوسيطة الثالثة، والتي تريدها SELF_AND_AFTER، انظر http://msdn.microsoft.com/en-us/library/ms146075.aspx

تعديل - عفوًا، كما لاحظ santiiiii، يجب أن يكون SELF_AND_BEFORE

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top