تصفية MDX في مستوى الواقع
سؤال
أنا مبتدئ جميل في 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>