CiAgICA8IS0tIExpbmtlZEluIC0tPgogICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgIF9saW5rZWRpbl9wYXJ0bmVyX2lkID0gIjEyMzUwNzMiOwogICAgICAgIHdpbmRvdy5fbGlua2VkaW5fZGF0YV9wYXJ0bmVyX2lkcyA9IHdpbmRvdy5fbGlua2VkaW5fZGF0YV9wYXJ0bmVyX2lkcyB8fCBbXTsKICAgICAgICB3aW5kb3cuX2xpbmtlZGluX2RhdGFfcGFydG5lcl9pZHMucHVzaChfbGlua2VkaW5fcGFydG5lcl9pZCk7CiAgICA8L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAgKGZ1bmN0aW9uKCl7dmFyIHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07CiAgICAgICAgICAgIHZhciBiID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CiAgICAgICAgICAgIGIudHlwZSA9ICJ0ZXh0L2phdmFzY3JpcHQiO2IuYXN5bmMgPSB0cnVlOwogICAgICAgICAgICBiLnNyYyA9ICJodHRwczovL3NuYXAubGljZG4uY29tL2xpLmxtcy1hbmFseXRpY3MvaW5zaWdodC5taW4uanMiOwogICAgICAgICAgICBzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGIsIHMpO30pKCk7CiAgICA8L3NjcmlwdD4KICAgIDxub3NjcmlwdD4KICAgICAgICA8aW1nIGhlaWdodD0iMSIgd2lkdGg9IjEiIHN0eWxlPSJkaXNwbGF5Om5vbmU7IiBhbHQ9IiIgc3JjPSJodHRwczovL3B4LmFkcy5saW5rZWRpbi5jb20vY29sbGVjdC8/cGlkPTEyMzUwNzMmZm10PWdpZiIgLz4KICAgIDwvbm9zY3JpcHQ+CiAgICA8IS0tIEVuZCBMaW5rZWRJbiAtLT4KICAgIA==
Generic filters
Exact matches only
Search in title
Search in excerpt
Search in content

Dynamische Berechnung mittels Measure Description

Was kann ich tun, wenn ich mit ein- und derselben Measure je nach Gusto des Betrachters verschiedene Sachverhalte abbilden möchte?

Diese Frage stellt sich zum Beispiel bei einer variablen Betrachtung von Preis-Mengeneffekten. Hier soll die spezifizierte Measure mal den Preiseffekt des aktuellen Jahres in Bezug auf das Vorjahr, mal in Bezug auf das aktuelle Planjahr, oder weitere Abstufungen, abbilden. Um dies relational darstellen zu können, bietet sich die Möglichkeit der Verwendung einer Steuertabelle und / oder der Befüllung der MeasureDescription an.

Zunächst benötigen wir eine einfache Steuertabelle zum Anzeigen und Auswählen des gewünschten Zeitraums. Diese kann natürlich auch in den DeltaMaster eingebunden und dort gepflegt werden.

Steuertabelle

Hier werden dann sowohl eine Effektbeschreibung, als auch die jeweils zu betrachtenden Jahre hinterlegt. Je nach System kann / muss hier natürlich noch auf weitere Faktoren, wie die korrekte Wertart Rücksicht genommen werden. Nun kann diese Steuertabelle in die Befüllung der Faktendaten mit einbezogen werden. Hierfür ist die Kenntnis der entsprechenden Modelertabelle von Nöten.

Die Tabelle T_Model_Fact_Measures beinhaltet alle notwendigen Metadaten der Measures. Hier lässt sich mit einer einfachen Updateroutine der jeweils gewünschte Text aus unserer Steuertabelle in die Spalte der MeasureDescription schreiben.

Die so später im Würfel erstellte Measure ist demnach flexibel aus der Tabelle befüllbar.

UPDATE ziel
SET ziel.MeasureDescription = quelle.EffectDESC
FROM T_Model_Fact_Measures ziel
INNER JOIN T_S_Steuertabelle quelle
ON ziel.FactID = 1
AND quel.EffectID = 1

Wird die gewünschte Measure dann später im Würfel verwendet, ist Sie aufgrund ihrer vornehmlich neutralen Beschriftung zunächst nicht eindeutig zuzuordnen. So wird beispielsweise bei einer Measure „Preiseffekt“ nicht deutlich, welcher Zeitraum dieser Effektbetrachtung nun zugrunde liegt.

Hier kommt dann die MeasureDescription ins Spiel. Wird die Maus über die besagte Measure gezogen, erscheint ein kleiner Tooltip mit der zuvor gepflegten und per Update in das System überführten Beschreibung.

Tooltip

Da in der relationalen Befüllung der Faktentabelle dann ebenfalls die Steuertabelle hinzugezogen wird, kann der Benutzer quasi eigenhändig steuern, welchen Betrachtungszeitraum seine Measure abbildet und in welcher Beschriftung sie diesen verdeutlicht.

Noch ein wenig technischer wird es, wenn ich die MeasureDescription nicht lediglich zur Anzeige verwenden möchte, sondern über diese auch noch MDX Statements befüttern will. So kann ich beispielsweise in die Beschreibung der Kennzahl zuvor nichts mehr als eine Jahreszahl eintragen und diese dann später im Würfelskript wieder abfragen.

Dies wäre über den Befehl

[Measures].[Effect_1].Properties("Description")

möglich, welcher hier dann die zuvor eingetragene Jahreszahl zurückgibt.

Eine Restriktion dieser Lösung stellt die notwendige Verarbeitung der MeasureGroup dar, um kurzfristige Änderungen an den Beschreibungen und/oder den damit verbundenen Rechenschritten durchführen zu können.