SSAS Writeback: Menge x Preis Planung

SSAS Multidimensional ermöglicht über die Writeback Partition die Erfassung von Daten direkt in Cubes, z.B. über Excels What-If-Analysis oder Drittanbieterwerkzeuge wie Cubeware.

Dennoch gibt es in der Praxis im Vergleich zu klassischen Planungsdatenbank wie IBM Cognos TM1 einige Herausforderungen zu bewältigen – so zum Beispiel die Umsetzung einer Menge x Preis Logik.

weiterlesen

Dynamische Formatierung in Excel und Cube-Formeln

International eingesetzte Reports müssen einige Punkte berücksichtigen. Einer davon ist die stark variierenden Größenordnung unterschiedlicher Währungen. So entspricht beispielsweise ein Euro in etwa 14.000 indischen Rupien – eine Betrag in IDR hat also mindestens um vier Nullen mehr als der Eurobetrag.

Um die Berichte dennoch leserlich zu halten empfiehlt sich die Darstellung in Tausend, Millionen oder Milliarden, etc. Somit muss der Report auf die Änderung der Währung dynamisch reagieren.

weiterlesen

Excel Slicer Best-Practices

Excel Slicer werden sehr gerne verwendet, da diese die von anderen Anbietern bekannte Assoziative Logik ermöglichen. Es werden immer nur die zur jeweiligen Selektion passenden Elemente in den diversen Slicern angezeigt und Elemente ohne Daten ausgeblendet. Dies erlaubt ein effizienteres Analysieren/Filtern sowie schneller zu Aussagen bzw. Erkenntnissen zu gelangen.

weiterlesen

Dynamische Formatierung von Measures

In Cubes mit einer großen Anzahl an Measures kann die Pflege der Formatierungen recht aufwendig werden und ist zudem nur in der Entwicklungsumgebung möglich. Deshalb habe ich die Pflege in eine Tabelle mit folgendem Aufbau ausgelagert:

Screen1

Die darauf aufbauende Dimension wird mittels Scope überschrieben:

SCOPE(EXCEPT([DIM MEASURE].[MEASURE].[All].Children,[DIM MEASURE].[MEASURE].[UNDEF]));

THIS=(StrToMember(„[Measures].[“ + [DIM MEASURE].[MEASURE].CurrentMember.Member_Value + „]“));

FORMAT_STRING(THIS)=[DIM MEASURE].[MEASURE].CurrentMember.Properties(„MEASURE FORMAT“);

END SCOPE;

Ein netter und immer wieder geforderter Nebeneffekt ist, dass die Measures nun in Pivottabellen über Filter oder Slicer selektiert werden können.

Transfer von Daten aus Oracle mittels SSIS (Fortsetzung)

Beim Versuch das SSIS Paket, welches die Attunity Treiber für den Zugriff auf Oracle verwendet produktiv zu setzen und per SQL Agent täglich auszuführen, sind weitere Themen aufgetreten:

Da am Server nur ein 32bit-Treiber zur Verfügung steht, muss das Paket auch im 32-bit Modus ausgeführt werden. Dies kann im SQL Agent Step in den Execution Properties mittels Checkbox aktiviert werden.

Attunity kann produktiv nur in einer SQL Server Enterprise Edition genutzt werden, obwohl das Paket im Debugging sauber funktioniert. Deshalb muss ein Umbau auf den ADO.NET-Treiber erfolgen, der wie im ersten Beitrag erwähnt, Nachteile hat.

Folgende Punkte sind zu beachten

  • Verwendung des ADO.NET Providers „.Net Providers for OleDb\Oracle Provider for OLE DB“
  • Da SSIS Oracle-NUMERIC Werte nicht auf FLOAT sondern auf NUMERIC(38,4) konvertiert, kann es zu Fehlern mit zumeist wenig aussagekräftigen Meldungen kommen (es wird der Fehler für eine andere Spalte gemeldet, als jene in der die Truncation tatsächlich passiert). Workaround ist es im Quell-SQL-Statement alle NUMERIC-Felder mit ROUND(Column,4) auf vier Nachkommastellen zu runden.

Ein weiterer Vorteil von ADO.NET ist, dass auch Oracle-Functions verwendet werden können, was vom Attunity Provider nicht unterstützt wird.

 

 

Verbinden von SharePoint Filtern mit Excel Web App Slicern

Da weder Pivot Filter noch Slicer bei Verwendung von Excel Web App nach Freitext gefiltert werden können, besteht der Bedarf das Excel Dokument von außen zu filtern. In einem ersten Schritt wird hier die Anbindung eines Slicers an einen Text Filter Webpart gezeigt:

  1. Veröffentlichen des Slicers: Excel > File > Browser View Options > Parameters > Add Step1.PNG
  2. Filter Web Part einfügen: Step3.PNG
  3. Filter und Excel Dokument verknüpfenStep4.PNG

Bei diesem einfachen Beispiel müssen die Elemente in MDX-Syntax angegeben werden:

STep5.PNG

Beim Ergebnis wurde ein bisschen geschummelt: leider erfolgt kein Highlighting des selektierten Werts, es werden lediglich die Daten korrekt angezeigt. Vermutlich könnte man über einen zweiten Slicer, der aber eine getrennte Dimension sein muss, und Hide elements without data das gewünschte Ergebnis erzielen.

To be continued…

 

 

Dynamische benannte Bereiche in Excel

Bei Veröffentlichung von Excel Reports am SharePoint via Excel Web App muss auch immer ein benannter Bereich angegeben werden, der dann im SharePoint angezeigt wird.

Dies ist bei statischen Berichten kein Problem. Verwendet man allerdings Pivot Tabellen kann die Dynamik dazu führen, dass Daten außerhalb des benannten Bereichs dargestellt werden da Excel den Bereich beim Drillen nicht automatisch vergrößert. Ist der Bericht in SharePoint eingebunden, sind diese Daten für User nicht mehr ersichtlich.

weiterlesen