2010-01-06 18 views
0

Folks,à plusieurs dimensions modèle

J'ai une table de dimension appelée DIM_FILE qui contient des informations des dossiers que nous avons reçus de nos clients. Chaque fichier a des enregistrements détaillés qui constituent ma table FACT, CUST_DETAIL. Dans le processus principal, le fichier passe par plusieurs étapes et chaque étape lui attribue un statut. Longtemps, j'ai une relation plusieurs-à-plusieurs. Toutes les idées autour de la modélisation dimensionnelle du schéma en étoile. Un enregistrement client n'appartient qu'à un seul fichier et un fichier peut avoir plusieurs statuts.

FACT 
---- 
CustID 
FileID 
AmountDue 


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

FILE_STATUS 
----------- 
FileID 
StatusDateTime 
StatusCode 
+1

Quelle est exactement votre question? –

Répondre

2

Il y a quelques choses que vous pouvez faire pour marier cela avec un schéma modèle étoile/dimensions:

  1. construire deux étoiles (peut-être, ils finiraient dans différents datamarts). On a FACT comme table de faits, l'autre étoile a FILE_STATUS comme fait (vous pouvez le considérer comme une table de faits à grain transactionnel). Pour que cela fonctionne, je devrais probablement dénormaliser et ajouter CustId à FILE_STATUS aussi
  2. Puisque vous avez affaire à FILE_STATUS, vous pouvez transformer FACT en un accumulateur snapshot table de faits. Dans ce modèle, vous auriez un ensemble séparé de colonnes supplémentaires dans FACT pour enregistrer toutes les informations appartenant à chaque transition de statut. Au moins, vous auriez une colonne à la dimension date/heure pour enregistrer quand un statut particulier a été atteint. Dans votre ETL, vous devez UPDATE la table de faits pour enregistrer comment un fichier progresse à travers les états. Cette conception ne fonctionne que si le nombre de statuts est fini et relativement petit. En outre, il devrait y avoir un chemin plus ou moins clair des progressions de statut (comme avec une commande client: reçu -> ramassé -> empaqueté -> expédié -> payé)
  3. Faire une soi-disant dimension multivaluée pour les statuts: FACT obtiendrait une clé pour cette nouvelle dimension, et cette nouvelle dimension représenterait en fait une collection de statuts qui s'appliquent à une ligne dans la table FACT.
  4. Vous pourriez avoir une table de bridge (bien que je ne pense pas que cela s'applique à ce sujet, pas sûr)

Références:

instantané Accumuler: http://www.kimballgroup.com/2002/06/design-tip-37-modeling-a-pipeline-with-an-accumulating-snapshot/ dimension multivalué vs table de bridge: http://www.kimballgroup.com/data-warehouse-business-intelligence-resources/kimball-techniques/dimensional-modeling-techniques/multivalued-dimension-bridge-table/

+0

Envisagez de mettre à jour les liens ou de fournir des informations clés à partir des liens fournis, car ils sont maintenant morts. – Fourth

+0

@Fourth Merci, mis à jour. –