Semi-Additiv Maßnahmen Problem - Summe Snapshots für jeden Monat, aber nicht über Monate
Frage
Geübt mit SQL, aber neu in MDX, ich habe Probleme bekommen, meinen Kopf um diese:
Ich habe eine Faktentabelle, die monatlichen Schnappschüsse von Kontoguthaben enthält. Ich brauche die Salden als semi-additive Maßnahme aufzurollen - gerade Summe nicht funktioniert, natürlich, für Waagen. Allerdings benötige ich alle Salden innerhalb eines jeden Monats zu summieren, getrennt, durch Addition der Salden für alle Konten, und so die „LastNonEmpty“ Begriff funktioniert auch nicht für mich. Beispiel: Wenn die Fakten sehen wie folgt aus:
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.
Und ich habe ein Konto Dimension, die Gruppen-Konten in eine Hauptkategorie / Moll-Kategorie / Account-Hierarchie, ich brauche Ausgabe wie diese, die die Salden für jeden Monat summieren über alle Konten:
Month Total
January 09 $400
February 09 $850
Und durch Kontotyp ausgebrochenen:
Month Total
January 09 $400
Type 1 $200
1111 $100
2222 $100
Type 2 $200
February 09 $850
Type 1 $300
Type 2 $550
ABER, sollten die Salden nicht über Monate, Quartale oder Jahre summieren, weil es keinen Sinn macht, und sie würden doppelt gezählt werden. Mehr Zeitintervall sollte die Nähe der Periode zeigen:
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
Wenn ich den Vorrat „LastNonEmpty“ Aggregation verwenden, scheine ich nur die eine wörtliche letzte Konto Zeile für einen Monat zu bekommen, nicht die Summe der Kontostände für den letzten Monat. Es ist, als ob die gesamte für den Monat wird nur das Gleichgewicht von einem zufälligen Konto in diesem Monat genommen zeigt, und nicht die Gesamt. (Ich bin sicher, dass es nicht wirklich zufällig ist, ist wahrscheinlich eine Kommissionierung auf Basis von Lagerauftrag oder etwas)
Ich bin sicher, ich tue nur etwas einfach, falsch ...
Lösung
Ich denke, dass ich dieses gelöst: meine Quelldaten die Salden mit sehr spärlich - es gibt eine Reihe nur für Nicht-Null-Salden war, und keine Zeilen für Konten, wenn der Saldo Null ist. Das machte alles screwy (man stelle sich als Bestandsaufnahme, wo Sie zählt von Teilen haben, und diese zählt, sind oft Null, aber wenn sie 0 sind, dann wird die Zeile nur aus der Faktentabelle fehlt)
Ich konnte einen Blick auf die Datenquelle erstellen, die mit Null Salden alle zusätzlichen Zeilen, würde „in wieder hinzufügen“, und danach die ClosingPeriod () Funktion gestartet wie erwartet.