Ich arbeite an einem Tabellenwürfel in SSAS 2012 SP1 CU4. Ich habe 3 Dimensionen (Anforderung, Anforderungsstatus, Datum) und 1 Fakt (Anforderungszählungen). Meine Faktentabelle entspricht den Anforderungen von RequisitionKEY, RequisitionStatusKEY und SnapshotDateKey.
Ich habe Kennzahlen berechnet, die im Wesentlichen den letzten nicht leeren Wert (wie eine halbadditive Kennzahl) für den angegebenen Zeitraum erhalten, unabhängig davon, ob es sich um Jahr, Monat oder Datum handelt:
Openings:=CALCULATE(Sum('Requisition Counts'[NumberOfOpeningsQT]),
Filter('Date','Date'[DateKey] = Max('Requisition Counts'[SnapshotDateKEY])))
Dies funktioniert gut, bis Sie den Anforderungsstatus in den Mix einfügen. Ich habe Zeilen für jede Anforderung für jeden Tag im Jahr 2013. Für eine der Anforderungen war der Anforderungsstatus für die ersten 6 Monate ausstehend und wurde dann für alle Daten vom 1. Juli bis heute in Genehmigt geändert. Wenn ich die Anzahl der Öffnungen für die Anforderung auf Monatsebene für Juli zusammenfasse, sehen Benutzer zwei Zeilen: die Summe der Öffnungen für den letzten ausstehenden Tag im Juli, an dem sie ausstanden, und die Summe der Öffnungen für den letzten besetzten Tag in Juli, dass es genehmigt wurde.
Obwohl die Summe von 2 korrekt ist, muss ich diese Berechnung so ändern, dass ich nur den aktuellsten Anforderungsstatus für den ausgewählten Datumszeitraum (Genehmigt) erhalte und entweder 0 oder null oder leer für die ausstehende Genehmigungszeile in der Pivot-Tabelle anzeige.
Die Anforderungsstatus-Tabelle sieht folgendermaßen aus:
Update: Hier ist ein Link zu einem von mir erstellten PowerPivot-Modell , das einige bereinigte Daten enthält, um diese Frage zu beantworten. Dies sollte die Tabellenschemata besser erklären. Das Feld NumberOfOpeningsQT gibt im Grunde die Anzahl der offenen Stellen an, die sie für diesen Job haben. Manchmal ist es 1, manchmal ist es mehr als 1. Es ändert sich normalerweise nicht im Laufe der Zeit, aber ich denke, es könnte. Ich versuche, die Öffnungsberechnung so zu gestalten, dass ich die gewünschte Antwort bekomme. Ich warf einige andere Berechnungen hinein, um einige Dinge zu zeigen, die ich versucht hatte und die vielversprechend waren, die ich aber nicht zur Arbeit bringen konnte.