سؤال

أنا مبتدئ جميل في MDX Sintaxys.

لدي الشرط التالي الذي أحتاج أن أكون قادرا على حلها باستخدام MDX، إذا كان ذلك ممكنا. أحتاج إلى إظهار عدد معاملات البيع التي تكون قيمة الرما أكبر من "X"، وعدد معاملات البيع التي تكون القيمة المبلغ أقل من "y"، وعدد المعاملات الائتمانية التي تقيم أكبر من "z". وما إلى ذلك وهلم جرا. يحتوي مكعبي على مقياس يسمى "المبلغ" مع وظيفة إجمالية "مجموع" وعمليات التعامل مع وظيفة الوكيل "عد" ووقت Dimesion، بعد TransactionType بعد وغيرها.

الشيء هو، أن x، y و z هي قيم ديناميات وتكوينها من قبل المستخدمين، أحتاج إلى قراءة هذه القيم، وإنشاء الاستعلام وتنفيذ IT Vía XMLA.

أنا أبلغ مستشآت كواحدة التالية

                  Greater than > 200 USD       less than < 0.10       total

          SALE            150                         10               300
          CREDIT          200                         30               600
          VODI            10                           2                60

أي مساعدة يمكنك أن تقدم لي، سأقدر ذلك

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

المحلول

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

إذا كان لديك شيء مثل سمة [معرف المعاملة]، فيمكنك كتابة استعلام مثل ما يلي.

WITH 
  MEMBER Measures.[Greater than 200 USD] as 
    SUM(Filter([Transaction ID].[Transaction ID].[Transaction ID], Measures.Amount > 200)
       , Measures.Count)
  MEMBER Measures.[Less than 0.10 USD] as 
    SUM(Filter([Transaction ID].[Transaction ID].[Transaction ID], Measures.Amount > 200)
       , Measures.Count)
  MEMBER Measures.Total as Measures.Count
SELECT
  {Measures.[Greater than 200 USD]
    ,Measures.[Less than 0.10 USD]
    ,Measures.[Total]} ON columns
 , [Transaction Type].[Transaction Type].[Transaction Type] ON Rows
FROM <Cube>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top