مشكلة تدابير شبه مضافة - مجموع لقطات لكل شهر ، ولكن ليس عبر أشهر

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

  •  05-07-2019
  •  | 
  •  

سؤال

يتقن مع SQL ولكن جديد على MDX ، أواجه مشكلة في الحصول على رأسي حول هذا:

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

Date        AccountNo     Balance
2009-01-31  1111          $100
2009-01-31  2222          $100
2009-01-31  4444          $100
2009-01-31  5555          $100

2009-02-28  1111          $100
2009-02-28  2222          $200
2009-02-28  3333          $500
2009-02-28  5555          $50

etc.

ولديّ بعد حساب الحساب الذي يحسب المجموعات في التسلسل الهرمي الرئيسي للفئة / الفئة / الحساب ، أحتاج إلى إخراج مثل هذا يلخص الأرصدة لكل شهر عبر جميع الحسابات:

Month        Total
January 09   $400
February 09  $850

وعن طريق الانهيار حسب نوع الحساب:

Month        Total
January 09   $400
  Type 1      $200
    1111       $100
    2222       $100
  Type 2     $200
February 09  $850
  Type 1     $300
  Type 2     $550

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

Quarter    WRONG    Correct
Q1         $1250    $850   // should be the sum of balances for the *last* month in Q1
  Type 1   $500     $300
  Type 2   $759     $550

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

أنا متأكد من أنني أفعل شيئًا بسيطًا ، خطأ ...

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

المحلول

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

تمكنت من إنشاء طريقة عرض في مصدر البيانات "من شأنها إضافة" جميع الصفوف الإضافية ، مع وجود أرصدة صفرية ، وبعد ذلك بدأت وظيفة ClosingPeriod () كما هو متوقع.

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