Christina Bräutigam

1.       Einleitung

Eines Tages wurde mir von einem Kunden die Frage gestellt, ob es möglich wäre, einer Dimension ein Set zuzuordnen. Dieses wäre natürlich im Rahmen der Benutzerfreundlichkeit eines Cubes wünschenswert.

2.       Aufzeigen der Möglichkeiten am Beispiele des Adventure Works Cubes

Vorab sei gesagt, dass es leider keine Möglichkeit gibt, einer bestimmten Dimension ein Set zuzuordnen. Ein Set wird der jeweiligen Dimension x automatisch zugeordnet, sofern das Set aus ein-elementigen Tupeln eines Dimensionsattributes der Dimension x besteht. Man kann sich allerdings zum Teil mit Display Foldern behelfen, um eine gewisse Strukturierung des Cubes zu gewährleisten.

Wird ein Set einer Dimension automatisch zugeordnet, dann wird bei der Angabe eines Display Folders im Ordner „Gruppen“ in der Dimension ein weiterer Ordner mit den Namen des Display Folders erstellt. Kann ein Set nicht automatisch einer Dimension zugeordnet werden, wird im Ordner „Gruppen“ ein weiterer Ordner mit den Namen des Display Folders angelegt. Im Cube Browser/Management Studio werden jedoch nur die Sets angezeigt, welche einer Dimension zugeordnet werden können.

Obiges möchte ich anhand von Code-Beispiele basierend auf dem Adventure Works Cube verdeutlichen:

Der nachfolgende Code ist in das Cube Skript einzufügen und das Cube Skript zu deployen.

CREATE SET [Set_Top10Products] AS
TOPCOUNT(
[Product].[Product].[Product].MEMBERS,
10, [Measures].[Internet Sales Amount]);

CREATE SET [Set_Top10ProductsWithDisplayFolder] AS
TOPCOUNT(
[Product].[Product].[Product].MEMBERS,
10, [Measures].[Internet Sales Amount]),
Display_Folder=’Top10′;


CREATE SET [Set_Top10ProductsPerYear] AS
GENERATE(
[Date].[Calendar Year].[Calendar Year].MEMBERS,
TOPCOUNT(
[Date].[Calendar Year].CURRENTMEMBER * [Product].[Product].[Product].MEMBERS,
10, [Measures].[Internet Sales Amount])
);

CREATE SET [Set_Top10ProductsPerYearWithDisplayFolder] AS
GENERATE(
[Date].[Calendar Year].[Calendar Year].MEMBERS,
TOPCOUNT(
[Date].[Calendar Year].CURRENTMEMBER * [Product].[Product].[Product].MEMBERS,
10, [Measures].[Internet Sales Amount])
),
Display_Folder=’Top10′;

 

Es werden vier Sets definiert. Die ersten beiden Sets bestehen aus ein-elementigen Tupeln: Den Top 10 der meistverkauften Produkte über alle Jahre. Die beiden Tupel unterscheiden sich nur durch keine bzw. eine Angabe des Display Folders. Die beiden anderen Sets beinhalten zwei-elementige Tupel einmal ohne Angabe und einmal mit Angabe eines Display Folders. Es werden die 10 meistverkauften Produkte für das jeweilige Jahr abgebildet.

Im Cube Browser sind die ersten beiden Sets sichtbar:

   clip_image001

 

In Excel sind alle vier Sets sichtbar:

 

clip_image002

clip_image003

3.       Resümee

Leider ist eine gesteuerte Zuordnung eines Sets zu einer bestimmten Dimension nicht möglich. Bei ein-elementigen Tupelmengen wird das Set automatisch der jeweiligen Dimension zugeordnet. Ansonsten besteht die einzige Möglichkeit zur Strukturierung des Cubes hinsichtlich der Sets nur in der Benutzung von Display Foldern für die jeweiligen Sets.