Frage

Ich habe gerade Tauchen in Data Warehousing begonnen und ich habe eine Frage, die ich einfach nicht scheinen, um herauszufinden.

Ich habe ein Geschäft, das zehn Filialen hat, die jeweils mit einem bestimmten Mitarbeiter. In meinem Data-Warehouse habe ich eine Dimension, die den Laden. Die Mitarbeiter Dimension ist eine SCD, mit einer Spalte für Start / Ende, und das Geschäft, an dem der Mitarbeiter arbeitet.

ist Meine Faktentabelle auf Vorschläge basieren die Mitarbeiter (anonym) an die Filialleiter geben. Diese Tabelle enthält den Vorschlag, Typen (Sauberkeit, Lohnfrage, usw.), das Datum Unterbreitung (fremd eine Zeitdimension Tabelle verkeilt), und den Laden, an den sie eingereicht wurde.

Was ich tun möchte, ist es, einen Bericht zu erstellen, das Verhältnis der Anzahl von Vorschlägen zur Anzahl der Beschäftigten in einem bestimmten Jahr zeigt. Da die Zahl der Mitarbeiter ändert sich periodisch kann ich einfach nicht eine einfache Abfrage für die Gesamtzahl der Mitarbeiter tun.

Leider habe ich die Web-ziemlich viel gesucht versucht, eine Lösung zu finden, aber die Mehrzahl der Beispiele Einzelhandel basierte Umsätze, die sich von dem unterscheidet, was ich versuche zu tun.

Jede Hilfe wäre sehr geschätzt. Ich mache das AdventureWorksDW auf meinem Rechner installiert habe, so ich, dass als Bezugspunkt verwenden kann, wenn jemand einen Vorschlag mit, dass bietet.

Vielen Dank im Voraus!

War es hilfreich?

Lösung

Die langsam veränderliche Dimension sollte einen natürlichen Schlüssel hat, der die Quelle der Reihe identifiziert (sonst wie würde es wissen, welche Änderungen zu vergleichen, um zu erkennen). Dies sollte unter allen Iterationen der Dimension konstant sein. Sie können eine Anzahl von Mitarbeitern erhalten, indem eine deutliche Zählung der natürlichen Schlüssel berechnet wird.

Edit: Wenn Ihre Transaktionstabelle (Vorschlag) ein Datum drauf hat, soll es eine deutliche Anzahl der Mitarbeiter durch eine berechnete Funktion des Vorschlags Datums (zB datepart (yy, s.SuggestionDate)) und die Business Unit gruppierten tun . Sie müssen nicht über das Datum, an dem Mitarbeiter Dimension sorgen, da die geltende Reihe direkt an die Transaktionstabelle beitreten sollte.

Andere Tipps

Einen weiteren hinzufügen Faktentabelle für die Anzahl der Mitarbeiter in jeder Filiale für jeden Monat - Sie max Zahl für den Monat nutzen könnten. Dann durchschnittliche Monate im Jahr, dies als „Zahl der Mitarbeiter in einem Jahr“.

Legen Sie die neue Faktentabelle am Ende eines jeden Monats. Die neue Tabelle würde wie folgt aussehen:

Faktentabelle: EmployeeCount

KeyEmployeeCount int - Ersatzschlüssel

KEYDATE int - FK bisher Dimension, Punkt zum letzten Tag eines Monats

Schlüsselspeicher int - FK Dimension speichern

NumberOfEmployes int - (max) Anzahl der Mitarbeiter für den Monat in einem bestimmten Geschäft

Wenn Sie eine feinere Auflösung benötigen, verwenden Sie „pro Woche“ oder sogar „pro Tag“. Die Hauptidee ist es, die NumberOfEmployes Maßnahme für ein bestimmtes Geschäft im Laufe des Jahres mitteln.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top