Ist Datum/Zeit Dimension in meinem Fall empfohlen
Ich bin ein Data Warehouse entwerfen, die Anrufe und Telefondaten enthält. In meiner Faktentabelle (fact Anrufe) Ich habe mehrere DATETIME
Felder wie CallStart, CallEnd, CallAnswered, CallRecordSaved
, etc ... (alle von denen haben year, month, day, hour, minute, second
)
Meine Frage ist, sollte ich diese Felder als DATETIME
Datentyp speichern oder sollte ich sie verweisen zu einer anderen Tabelle (Datum/Zeit-Dimension) unter Berücksichtigung, dass ich plane, einen Würfel aus diesem DW zu generieren und die Zeitdifferenz zwischen einigen dieser DateTime-Werte zu berechnen.
Was denkst du ??
Wenn Sie den Unterschied zwischen zwei Werten berechnen möchten, würde ich empfehlen, sie mit den zugrunde liegenden Datentypen zu speichern. Dimensionstabellen für Unterschiede verwenden zu müssen, ist umständlich. –
@GordonLinoff Ich stimme zu, aber ich muss fragen, ob die Analyse ohne Datum/Zeit-Dimension viel schwerer wäre (Beispiel: Anrufe bekommen, nach Monat, Tag usw.). – Fourat
Stimmen Sie mit Gordon und Fourat überein. Ich hätte CallStart als Datetime und dann Duration int als Sekunden. Alle Vorteile von datetime ohne die Dauer für jede Aggregationsfunktion zu berechnen –