Frage

Ich bin neu zu modellieren Sternschemata, frisch aus der Lektüre des Data Warehouse Toolkit .

ich einen Geschäftsprozess haben, die Kunden und Nicht-Kunden telefonieren in Telefonkonferenzen mit einigen unserer Mitarbeiter.

Meine Faktentabelle, nennt es „Publikum“, wird ein gewisses Maß an enthalten, wie lange ein Behandler mit dem Anruf verbunden wurde, und die Kosten für diese Verbindung der Person auf den Anruf. Die Maserung ist „die individuelle Verbindung zur Telefonkonferenz“.

Sollte ich meine glichene Client-Dimension und erstellen Sie eine nicht-Client-Dimension (für die Anrufer, die noch nicht Kunden sind) diese Weise (Weglassen Dimensionen, die nicht Teil dieser Fragen sind):

Oder wäre es OK / besser sein, eine nicht-gleichförmig haben Besuch Dimension der angeglichene Client-Dimension im Zusammenhang auf diese Weise:

Oder gibt es einen besseren / Standardmechanismus, um Geschäftsprozesse modellieren wie diese?

Edit:

Was Modell mit 2 oben, aber mit Blick auf der Client-Dimensionstabelle zu schaffen und die Teilnahme an Dimension es, wie es aussehen zu lassen ist nur eine Dimension?

Ist das eine akzeptable Alternative zu Damir Antwort unten?

War es hilfreich?

Lösung

Es gibt keine Notwendigkeit, Kunden in zwei Tabellen (Dimensionen) zu spalten. Einfach gesagt, alle Kunden, aktiv und Perspektiven in die gleiche Dimension Tabelle. Sie könnten dann ein IsActive Attribut (Spalte) einführen zwischen zahlenden Kunden und Interessenten zu unterscheiden. Früher oder später werden Sie ein Data-Mining-Tool verwenden, um mehr über Kunden zu erfahren, und was unterscheidet Menschen, die bereit sind zu zahlen für den Service von denen, die es nicht sind. Um den Algorithmus zu arbeiten, müssen Sie liefern Daten für beide Gruppen von Menschen - diejenigen, die zahlen und diejenigen, die nicht zahlen. Um es zusammenzufassen, Aussichten auf den gleichen Tisch gehören als Kunden zu zahlen.

Mit diesem können Sie Ihr Modell verwenden Nein 1. Stellen Sie sicher, dass die Maßnahmen in der Faktentabelle sinnvoll. Zum Beispiel, wenn ein call_id = 123 hatten 10 Personen teilnehmen, dann

sum(cost_of_connection)
from factAudience
where call_id = 123;

hat die gesamten Kosten für den Anruf zurückzukehren, nicht etwas sinnlos -. Wie 10x die tatsächlichen Kosten

Bearbeiten

A "zahlenden Kunden" und eine "Perspektive Client" beide eine Art von einem Client, daher gehört in der gleichen Dimension Tabelle - dimClient. Irgendwo in der DW gibt es eine factSale (oder ähnliches) mit FK zum dimSale. Auch wenn Sie zwischen dem Zahlen und Perspektiven zu unterscheiden nicht eine Spalte in dimClient haben - können Sie immer noch Kunden erhalten die Zahlung von factSale und dimClient Beitritt.

„Wer ist der Kunde?“ ist eine gemeinsame Debatte, wenn in einer Organisation ein DW einzuführen. Um in der Lage sein, die Kundenakquisition zu analysieren, Retention, Konvertierung etc. haben Aussichten die gleiche Behandlung wie zahlende Kunden - zumindest in der DW. Beachten Sie, dass der Erwerb und die Schaffung neue Kunden auf der Spitze der Liste ist für (fast) jeden CEO.

Andere Tipps

würde ich für den zweiter gehen: es Modelle der Teilnehmer in ihrer eigenen, dedizierten Dimension, während so dass Sie ihr Client-ness (oder anders) über ein Attribut in dieser Dimension belichten, die wahrscheinlich die Art und Weise ist es, Sie wollen würden Drilldown im wirklichen Leben ( „Zeige mir alle Teilnehmer“, gefolgt von „und nun, welche dieser Kunden sind“).

In Ihrer Client Dimension würde ich die client_id für alle Teilnehmer bevölkert, passend zu einem „unbekannten“ Elemente, in dem der Teilnehmer nicht Kunde ist.

Es ist eine nette Diskussion über diese hier:

http://crpit.com/confpapers/CRPITV75Riazati.pdf

Es macht wenig Unterschied. Die zweite Version ist möglicherweise richtig, aber tut Ihre olap Systemunterstützung das?

Die zweite sieht aus wie „Snowflake-Schema“ zu mir. Schauen Sie in Snowflake-Schema, mit dem Wikipedia-Artikel zu starten. Sie werden mehrere Vergleiche zwischen Stern und Schneeflocke sehen.

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