2010-03-18 13 views
1

Je cherche des idées pour remplir une table de faits dans un magasin de données. Disons que j'ai les dimensions suivantesIdées sur le remplissage de la table de faits dans un magasin de données

  1. médecin
  2. patient
  3. Date
  4. geo_location
  5. patient_demography
  6. Test

Je l'ai utilisé deux outils ETL pour alimenter la dimension tables - Pentaho et Oracle Warehouse Builder. La date, la démographie du patient et les emplacements géographiques ne tirent pas les données du magasin opérationnel. Toutes les tables de dimension ont leur propre clé de substitution. Je veux maintenant remplir la table de faits avec les détails d'une visite par un patient. Quand un patient visite un médecin à une date particulière, il commande un test. C'est l'information dans la table de faits. Il y a aussi d'autres mesures que j'omets pour la simplicité.

Je peux créer une jointure unique avec toutes les colonnes requises dans la table de faits du système source. Mais, je dois stocker les clefs des tables de dimension pour le patient, le médecin, l'essai etc. Quelle est la meilleure manière d'accomplir ceci?

Les outils ETL peuvent-ils aider?

Merci Krishna

Répondre

5

Chaque table de dimension doit avoir un BusinessKey unique qui identifie l'objet (personne, date, lieu) qu'une ligne de tableau décrit. Pendant le chargement de la table de faits, vous devez rechercher la clé primaire à partir de la table de dimension, en fonction de la clé BusinessKey. Vous pouvez choisir de rechercher directement la table de dimension ou de créer une table de recherche de clé pour chaque dimension juste avant de charger la table de faits.

Pentaho Kettle dispose de la fonction "Database Value Lookup" (étape de transformation) à cet effet. Vous pouvez également consulter la section «Delivering Fact Tables» de la boîte à outils ETL Data Warehouse de Kimball.