Rollenspieldimension mit freundlichen Attributnamen in SSAS implementieren?

8

Ich habe eine Faktentabelle, die auf meine Datumsdimension sowohl als Formulardatum als auch als Finanzdatum verweist. Daher spielt die Datumsdimension zwei verschiedene Rollen. Das funktioniert gut, außer dass ich die Namen der Spalte "Jahr" oder "Monat" nicht rollen kann. Ich würde es lieber die Spalte Form Year und Finance Year sein, oder in der Lage sein, die Attributbeschreibung so zu setzen, dass meine Client-Anwendungen diese Eigenschaft als Tooltips / Header verwenden können.

Das Problem ist, in einem einzigen Pivot-Bericht, der Benutzer wird zwei verschiedene Jahre haben und es ist nicht klar, welcher ist (sie sehen 2010 und 2009 und wissen nicht, welches ist das Form Jahr und welches ist die Finanzen Jahr), ohne dass ich etwas hashistischen Code mache, um zu sehen, was der Dimensionsname ist.

Mit anderen Worten, [Form Date]. [Year] und [Finance Date]. [Year] sind beide ein Attribut "Year", was das Cellset betrifft. Wenn Sie die Beschreibung oder den Namen dieses Attributs in SSAS ändern, ändern Sie es für beide Rollenspieldimensionen. Sie können den Namen der Rollenspieldimension anpassen, aber leider nicht die Attribute.

Meine bisherigen Optionen:

- Erstellen Sie in der Data Warehouse-Datenbank Kopien der Datumsdimensionstabelle für jeden Anwendungsfall, damit ich die Attributnamen / -beschreibungen für die Spalten anpassen kann. Dies schafft mehr Wartung / Arbeit für mich, um diese Kopien zu halten.

- Erstellen Sie in der Data Warehouse-DB für jeden Anwendungsfall eine Ansicht über der Datumsdimensionstabelle. Das Problem hier ist, dass ich keine FK-Beziehungen zwischen einer Dimensionsansicht und einer Faktentabelle erstellen kann. Ich fürchte, das wird mir mehr Kopfschmerzen bereiten, als es wert ist, denn es scheint, dass viele SSAS / SSRS / Powerpivot und andere Werkzeuge wirklich davon abhängen, welche FK-Beziehungen da sind, um die Struktur des Data Warehouses zu bestimmen.

>

- Erstellen Sie Kopien der Year-Spalte in der gleichen Tabelle, so dass jede als eigenes Attribut in SSAS materialisiert wird und daher ihre eigenen Namen- und Beschreibungseigenschaften haben kann. Habe nicht damit gespielt, um zu sehen, ob es so funktioniert, wie ich es mir vorstelle, aber ich denke, ich würde einfach mehrere Dimensionen basierend auf der gleichen Tabelle erstellen und jeweils nur eine der Jahresspalten, wie das Formularjahr, einschließen in der Dimension "Datumsformat". (Es könnte auch eine berechnete Spalte anstelle einer Kopie der Spalte verwendet werden.) Der Nachteil ist, dass die Dimension dadurch viel verwirrender wird. Ich habe bereits viele Attribute, um verschiedene Hierarchien zu unterstützen, was normal ist, aber jetzt gebe ich die Mischung mehrerer Spalten für ein einzelnes Attribut ein, nur um die Überschrift / Beschreibung des Attributs zu unterstützen, das unterschiedlich ist, obwohl die Attributwerte alle sind gleich.

Im Kimball Group Data Warehouse-Toolkit-Buch wird dieses Szenario mit

beschrieben
  

Diese Kopien der Datumsdimension werden als semantisch unterschiedlich deklariert   Sichten wie "Erstkaufdatum" [mit Attributen wie "Datum   des 1. Kaufjahres "statt nur" Jahr "] Maßtabelle mit   eindeutige Spaltenbeschriftungen.

Dieses Buch ist ziemlich konzeptuell und technologisch agnostisch und geht nicht auf Einzelheiten der Implementierung ein. Die Formulierung an einigen Stellen impliziert die Verwendung von Ansichten und an anderen Stellen die Verwendung physischer Tabellenkopien. Wie oben erwähnt, haben beide große genug Nachteile, dass ich Angst habe, beide Wege zu wagen, da ich bereits Kopfschmerzen vorhersehen kann.

Wie sollten Sie meiner Meinung nach mehrere Rollen einer Datumsdimension implementieren, sodass ich die Beschreibungs- / Namenseigenschaften der Attribute für jede Rolle / jeden Anwendungsfall anpassen kann, an denen die Dimension beteiligt ist?

Ich werde auch andere Faktentabellen haben, die auf die gleiche Dimension verweisen und daher ein ähnliches Problem haben, so dass es nicht nur darum geht, dass eine einzelne Faktentabelle doppelt auf eine Dimension verweist.

    
AaronLS 07.09.2011, 20:45
quelle

2 Antworten

6

Basierend auf Ihrem sehr detaillierten und durchdachten Beitrag würde ich empfehlen, dass Sie eine zusätzliche Datumstabelle im DSV des Analysis Services-Projekts erstellen. Es wäre eine named_query für die Datumsdimension in Ihrem Data Warehouse. In der DSV können Sie dann einen "logischen Primärschlüssel" angeben und ihn mit einer beliebigen Faktentabelle verknüpfen. Dadurch können Sie zwei separate "Cube" -Dimensionen erstellen und die Attribute zwischen den beiden unterschiedlich benennen.

    
Bill Anton 13.01.2012 14:52
quelle
0

Wenn Sie Excel 2010 verwenden, können Sie die Felder umbenennen, indem Sie einfach mit der rechten Maustaste darauf klicken und dann field settings auswählen und einen benutzerdefinierten Namen angeben.

    
Tim.Messar 10.09.2012 20:55
quelle

Tags und Links