Frage

Wir Daten mit zwei verschiedenen Ursprüngen haben: einige kommen von einem Kunden, kommen einige von verschiedenen Anbietern. Derzeit haben wir „merge“ diese Daten in einen massiven Tisch mit fast hundert Säulen, Zehntausende von Zeilen und keine formalen Trennung der beiden Dimensionen physisch. Folglich können wir nicht wirklich in dieser Tabelle für viel.

Ich werde dieses Chaos in ein richtiges neu zu gestalten, aber klein, Star-Schema.

Die beiden Dimensionen liegen auf der Hand. Einer von ihnen, zum Beispiel, ist die Zeit.

Die vom Kunden gelieferten Daten bieten eine Reihe von Tatsache Werten. Jeder Anbieter kann (oder auch nicht) zusätzliche Tatsache, Werte, die die gleichen Abmessungen passen.

Diese Tatsache Daten alle die gleiche Granularität. Es kann „spärlich“ bezeichnet werden, weil wir nicht oft Informationen von allen Anbietern erhalten.

Hier ist mein Dilemma.

Ist das eine Faktentabelle - mit einigen Nullen - bevölkert von verschiedenen Quellen

Oder ist die n 1 Faktentabellen - eine vom Kunden bevölkern, die von den einzelnen Herstellern bevölkerten andere

Es gibt Vor-und Nachteile zu jedem Design. Ich brauche ein paar zweite Meinung über die Wahl zwischen „merge“ oder „Last getrennt“.


Kundenbedarf Umsatz, Kosten, zählt, Gewichte und andere Dinge, die sie wissen, über ihr Ende einer Transaktion.

Der Anbieter ein liefert einige zusätzliche Details über einige der Transaktionen - Gewichte, Kosten, Dauer. Die anderen Transaktionen wird man keinen Wert vom Lieferanten haben.

Vendor zwei liefert einige zusätzliche Details über einige der Transaktionen - Volumen, Dauer, Länge, Fremdwährungskurse. Die übrigen Transaktionen werden keinen Wert für die Lieferanten zwei.

Einige Transaktionen werden beide Anbieter haben. Einige Transaktionen werden weder Anbieter haben.

Eine Tabelle mit Nullen? Drei Tische?

War es hilfreich?

Lösung

würde ich für die einzelne Faktentabelle gehen. Das Highlight pro diesem Ansatz ist, dass es all die harte Arbeit beim Laden verläßt, anstatt zum Zeitpunkt der Abfrage.

Andere Tipps

Von dem, was Sie beschreiben, klingt es wie eine einzige Tatsache Tabelle ist der Weg zu gehen.

Es klingt wie die Faktentabelle ein Körnchen Zeit x Transaktion x Kunden würde (?).

Meine Vorfrage versuchte wirklich um herauszufinden, ob ein Teil der Lieferantendaten ein Kandidat für seine eigene Dimension war. Ich werde es Ihnen überlassen, das zu bestimmen. aber es ist nicht wirklich klingen wie sie.

Null Fakten Warnungen während Aggregationen werfen können (je nach Plattform), aber die Alternative sie mit möglicherweise irreführend Nullen zu bevölkern ist schlimmer.

Ich glaube, dass da beide Quellen das gleiche Korn teilen die Antwort ist, dass Sie eine Faktentabelle haben sollten. Überlegen Sie, wie Sie Ihre Endnutzer mit den Informationen zu interagieren. Wenn es sinnvoll, und die Geschäftsberichten macht, werden aus diesen Daten profitieren co-located zu sein, dann ist das deine Antwort. Versuchen Sie, obwohl nulls in Ihrer Faktentabelle zu vermeiden. Wenn Sie eine Null eingeben (und die Null macht Sinn für die Daten, das heißt, denken Temperatur) und dann das tun. Es wird Ihr Benutzer einige Verwirrung speichern und als TrickyNixon darauf hingewiesen wird Aggregation Probleme verursachen.

Eigentlich bist du zu einem großen Punkt hier auf der ‚Bricht‘ Anwendung. Sie können sehen, was heute existiert und Hebel Erfahrung ein besseres Design zu erstellen. Dies ist die wichtigste Zeit, um das beste Korn zu wählen, die hoffentlich nicht für das Leben des DW ändern werden.

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