2010-03-21 15 views
5

से तथ्य और आयाम सारणी को पॉप्युलेट करने का सर्वोत्तम अभ्यास मैं एसएसआईएस/एसएसएएस में एक स्टार स्कीमा/क्यूब पॉप्युलेट करना चाहता हूं।लेनदेन संबंधी फ्लैट डीबी

मैं अपने सभी आयाम टेबल और मेरी तथ्य तालिका, प्राथमिक कुंजी आदि

स्रोत एक 'फ्लैट' (आइटम स्तर) तालिका है तैयार किया और मेरी समस्या कैसे इसे विभाजित और से इसे पाने के लिए अब है संबंधित तालिकाओं में से एक।

मैंने थोड़ी सी गुगलिंग की लेकिन समस्या का संतोषजनक समाधान नहीं मिला। एक कल्पना करेगा कि बीआई विकास में यह एक आम समस्या/स्थिति है ?!

धन्यवाद, alexl

उत्तर

9

एक शुरुआत के लिए, यह आप एक सरल प्रारंभिक आंकड़ा अंतरण या अधिक परिष्कृत कुछ (जैसे वृद्धिशील) क्या करना चाहते हैं, इस पर निर्भर करता है। मुझे लगता है कि आप प्रारंभिक डेटा स्थानांतरण कर रहे हैं।

कहो इस प्रकार अपने मद तालिका स्तंभ हैं: id, cat1, cat2, cat3, cat4, ... मान लिया जाये कि श्रेणियों 1-4 कॉलम id, cat_name है, तो आप (आइटम श्रेणी 1 के आयाम तालिका) dim_cat1 लोड कर सकते हैं इस प्रकार है:

insert into dim_cat1 (cat_name) 
    select distinct cat1 from item_table; 

आप क्या कर सकते हैं अन्य सभी श्रेणियों/आयाम तालिकाओं के लिए समान है। मुझे लगता है कि आपकी आयाम तालिका स्वचालित रूप से जेनरेट की गई आईडी है। अब, इस तथ्य तालिका लोड करने के लिए:

insert into fact_table (id, cat1_id, cat2_id, cat3_id, cat4_id, ...) 
    select id, dc1.id 
    from item_table it 
     join dim_cat1 dc1 on dc1.cat_name = it.cat1 
     join dim_cat2 dc2 on dc2.cat_name = it.cat2 
     join dim_cat3 dc3 on dc3.cat_name = it.cat3 
     join dim_cat4 dc3 on dc4.cat_name = it.cat4 
... 

आप डेटा की एक पर्याप्त राशि है, तो यह item_table श्रेणी में नाम और शायद आयाम टेबल पर अनुक्रमणिका बनाना उचित हो सकता है।

बीटीडब्ल्यू, यह एक डेटाबेस-स्वतंत्र उत्तर है, मैं एसएसआईएस/एसएसएएस के साथ काम नहीं करता हूं: आपके पास टूल्स उपलब्ध हो सकते हैं जो आपके लिए इस प्रक्रिया के कुछ हिस्सों को व्यवस्थित करते हैं, लेकिन वास्तव में यह लिखना कठिन नहीं है सादा एसक्यूएल।

3

हम डेटा पैकेज कार्य का उपयोग करके अंतिम पैकेज निष्पादन समय के बाद एक टेम्पल स्टेजिंग टेबल में जानकारी कॉपी करने के लिए करते हैं, फिर कुंजी के आधार पर उन स्टेजिंग टेबल से डेटा के साथ संग्रह/गोदाम अपडेट करें, फिर उन पंक्तियों को सम्मिलित करें जो डॉन करते हैं अभी तक अस्तित्व में नहीं है। अगली बार तैयार स्टेजिंग टेबल को छोटा करें, ऑडिटिंग का एक भार जोड़ें। काम हो गया?

0

मैं अक्सर स्टार स्कीमा के बजाय परिचालन डेटा स्टोर के खिलाफ क्यूब्स बनाता हूं .. प्रदर्शन हमेशा स्टार स्कीमा के साथ बेहतर होगा, लेकिन प्रोटोटाइप/परीक्षण के लिए, उस डेटा के खिलाफ क्यूब्स विकसित करने से डरो मत, जो आपके पास नहीं है स्टार स्कीमा आप चाहते हैं।

संबंधित मुद्दे