2016-10-13 2 views
0

Ich komme aus einem relationalen SQL Server-Datenbankhintergrund und versuche, den Übergang zu einem mehrdimensionalen Modell in Analysis Services zu machen.Faktentabellenentwurf - One-to-Many

Ich habe Probleme mit dem folgenden Problem, das in der relationalen Welt unglaublich einfach wäre.

Ich habe 3 Tabellen - Incident, IncidentOffender und IncidentLoss. Es kann keine, eine oder viele IncidentOffenders und IncidentLosses auf einen Vorfall:

enter image description here

Wie kann ich meine Data Warehouse so gestalten, dass ich in der Lage sein wird, den Würfel zu fragen, zum Beispiel, „wie viel Zeit Haben wir uns mit Vorfällen beschäftigt, bei denen ein kahlköpfiger Täter gebackene Bohnen gestohlen hat? ", sowie" Was war der Wert dieser Bohnen? "?

Entschuldigung, wenn das klingt einfach, aber ich habe das Web durchforstet und verschiedene Bücher verschlungen, aber immer noch kann ich kein Beispiel aus dem wirklichen Leben von so etwas finden, das mir wie eine alltägliche Situation scheint.

+0

Sieht mir gut, aber ich nehme an, ich IncidentLoss als Faktentabelle und Incident und IncidentOffender als Dimensionen modellieren würde. – tobi6

+0

Danke - würde FactIncidentLoss dann eine IncidentLossID, IncidentID und IncidentOffenderID enthalten? Es ist das letzte Problem, das ein Problem verursacht - weil es mehr als einen IncidentOffender für einen Incident geben kann. – Nugsson

+0

Mit dieser Anforderung würde ich mit einer Zuordnung m: n-Tabelle gehen und sorgfältig auf Leistungsprobleme testen. – tobi6

Antwort

1

In Ihrem Szenario müssen alle drei Tabellen als Dimensionen und Measuregruppen in SSAS geladen werden. Dann können die Dimensionen Incident Offender und Incident Loss viele-zu-viele-Dimensionen für die Incident-Measuregruppe sein. Es wird auf der Registerkarte Dimensionsverwendung wie folgt aussehen.

enter image description here

+0

Vielen Dank dafür - es ist eigentlich die Lösung, die ich mit dem ersten gebaut habe, aber ich habe mich nie ganz wohl gefühlt. Wäre es "best practise", hier 2 Würfel (oder mehr, wenn nötig) zu bauen, jede mit einer einzigen Faktentabelle bei der feinstmöglichen Granularität? – Nugsson

+1

Nein. Eine einzelne Faktentabelle pro Cube ist definitiv keine Best Practice. Die Analyse von Kennzahlen aus verschiedenen Faktentabellen im selben Bericht ist sehr hilfreich. Das ist ein bisschen vom Thema, da in Ihrem Fall die anderen beiden Faktentabellen nur Bridge-Tabellen für die Viele-zu-Viele-Dimensionen sind. – GregGalloway

+0

Kein Problem @GregGalloway. Ich denke immer noch über Dinge nach, aber werde dies definitiv als die akzeptierte Antwort markieren, sobald ich glücklich bin. – Nugsson