Using SQL Server Database Roles with AD-Groups

As I don’t bother with security issues on a regulary base, it happens that I forget the necessary steps. Therefore I use this blog post as a documentation and personal knowledge base…

weiterlesen

Advertisements

Dynamische Formatierung via SCOPE

Dynamische Formatierungen können zwar mit Excel-Funktionalität umgesetzt werden, allerdings ist das auch im Cube recht einfach für folgende Eigenschaften möglich:

  • Hintergrundfarbe
  • Textfarbe
  • Schriftart
  • Schrifttyp (fett, kursiv, durchgestrichen)
  • Wertformat

Ein Anwendungsfall im Kontext von Planungslösung ist die Kennzeichnung von Werten, welche geändert wurden. Das ist mittel SCOPE wie folgt zu realisieren:

SCOPE([Measures].[Value]);
	FORE_COLOR(THIS)=CASE WHEN VBA!round(([DIM TYPE].[TYPE].[FC_V1]),2)  VBA!round(([DIM DATASOURCE].[DATASOURCE].&[FC_V2]),2) THEN RGB(0,0,153) ELSE RGB(0,0,0) END;
	FONT_FLAGS(THIS)=CASE WHEN VBA!round(([DIM TYPE].[TYPE].[FC_V1]),2)  VBA!round(([DIM DATASOURCE].[DATASOURCE].&[FC_V2]),2) THEN 2 ELSE 0 END;
END SCOPE;

Voraussetzung ist, dass die Werte der alte Version zum Vergleich zur Verfügung stehen. Man könnte zum Beispiel auch mit einer Version-Dimension arbeiten und dann Version.CurrentMember mit Version.CurrentMember.PrevMember vergleichen, um die Abweichungen dynamischer festzustellen.

Ergebnis des obigen Scope-Statements ist, dass Werte, welche überschrieben und publiziert wurden, blau und kursiv formatiert werden:

ValueFormat

Details zu den Formatierungsmöglichkeiten sind hier zu finden.

 

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.