Frage

Leute,

Ich habe eine Dimensionstabelle genannt DIM_FILE die Informationen der Dateien hält die wir von Kunden erhalten. Jede Datei hat Detaildatensätze, die meine FACT-Tabelle darstellt, CUST_DETAIL. Im Hauptprozess, Datei durch mehrere Phasen gegangen und jede Stufe Tags einen Status zu. Lange in einem kurzen, ich habe viele-zu-viele-Beziehung. Irgendwelche Ideen, um Sternschema dimensionale Modellierung. Ein Kundendatensatz nur in einer einzigen Datei gehören, und eine Datei kann mehrere Status haben.

FACT
----
CustID
FileID
AmountDue


DIM_FILE
--------
FileID
FileName
DateReceived

FILE_STATUS
-----------
FileID
StatusDateTime
StatusCode
War es hilfreich?

Lösung

Es gibt ein paar Dinge, die Sie tun können, dies zu heiraten mit einem dreidimensionalen Modell / Sternschema:

  1. Erstellen Sie zwei Sterne (möglicherweise, würden sie in verschiedenen Data Marts am Ende). Eine Tatsache, wie die Tatsache Tabelle hat, der andere Stern hat file_status als Tatsache (Sie es als eine Transaktion körnige Faktentabelle betrachten können). Um diese Arbeit zu machen, würde ich wahrscheinlich CustId zu file_status zu
  2. denormalize und füge
  3. Da Sie mit file_status zu tun haben, können Sie FACT in eine drehen Akkumulieren Schnappschuss Faktentabelle. In diesem Modell würden Sie einen separaten Satz von zusätzlichen Spalten in FACT haben alle Informationen, die zu jedem Zustandsübergang zu erfassen. Zumindest würden Sie eine Spalte Datum / Uhrzeit Dimension zu erfassen, wenn ein bestimmter Status erreicht wurde. In Ihrem ETL, dann würden Sie die Tatsache Tabelle aktualisieren müssen, um zu erfassen, wie eine Datei durch die Zustände fortschreitet. Dieser Entwurf funktioniert nur dann, wenn die Anzahl der Zustände ist endlich und relativ klein. Darüber hinaus sollte es ein mehr oder weniger klarer Weg von Status Progressionen sein (wie bei einem Kundenauftrag: erhalten -> gepflückt -> verpackt -> Versand -> bezahlt)
  4. Erstellen Sie eine so genannte mehrwertige Dimension für die Zustände: FACT einen Schlüssel zu dieser neuen Dimension bekommen würde, und diese neue Dimension darstellen würde tatsächlich eine Sammlung von Zuständen, die auf eine Zeile in der FACT Tabelle gelten
  5. .
  6. Sie könnten eine Brücke Tisch haben (obwohl ich glaube nicht, dass zu diesem Thema gilt, nicht sicher)

Referenzen:

thesaurierenden Snapshot: http://www.kimballgroup.com/2002/ 06 / Design-tip-37-Modellierung-a-Pipeline-mit-einem-Akkumulieren-snapshot / mehrwertige Dimension vs Bridge-Tabelle: http://www.kimballgroup.com/data- Lager-Business-Intelligence-Ressourcen / Kimball-Techniken / dreidimensionale Modellierungstechniken / mehrwertig-Dimension-bridge-table /

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