2012-04-30 25 views
5

एसएसएएस में प्रश्न के लिए प्रश्न। मैं एक ओलाप एसएसएएस घन पर्यावरण में एक से कई रिश्तों को परिभाषित करने का प्रयास कर रहा हूं। हालांकि, मैं प्राथमिक कुंजी को परिभाषित करने में समस्याएं चला रहा हूं। उदाहरण सारणी नीचे हैं। पहले 3 टेबल के बीच संबंध आसानी से परिभाषित किए जाते हैं (ट्रेडडेट, एनवाईएमईएक्स ट्रेड & एनवाईएमईएक्स अनुबंध)। हालांकि, मेरा लक्ष्य NYMEX अनुबंध और मॉडल अनुबंध के बीच कई रिश्तों को बनाना है। दूसरे शब्दों में, 1 एनवाईएमईएक्स अनुबंध से डेटा मॉडल अनुबंध डेटासेट में कई बार उपयोग किया जाएगा।एसएसएएस वन कई आयामी संबंध

तालिका: TradeDate

  • TradeDate (पी)
  • वर्ष
  • महीना आदि ...

तालिका: NYMEX ट्रेडों (कोई पी)

  • ContractName
  • TradeDate
  • मूल्य

तालिका: NYMEX अनुबंध

  • ContractName (पी)

तालिका: मॉडल अनुबंध

  • ModelContractName (पी)
  • ContractName

मैं ... NYMEX अनुबंध और मॉडल अनुबंध के बीच कई रिश्ते को एक बनाने की आवश्यकता है लेकिन मेरी पी मॉडल अनुबंध में गलत स्तंभ पर है। कोई विचार?

स्पष्टीकरण में सहायता के लिए - मैं एक आयाम -> आयाम संबंध परिभाषित करने का प्रयास कर रहा हूं। तालिका "मॉडल अनुबंध" एक लुकअप टेबल है।

+1

आपको इस प्रश्न को बहन साइट पर ले जाने पर विचार करना चाहिए: [dba.stackexchange.com] (http: // dba.stackexchange.com/) टैग [टैग: एसएसएएस] और/या [टैग: एमडीएक्स] के साथ टैग किए गए प्रश्नों का उत्तर देने के बेहतर अवसर हो सकते हैं। –

+0

आप या तो इसे ध्वजांकित कर सकते हैं (इसलिए एक मॉडरेटर इसे स्थानांतरित करता है) या आप इसे वहां पोस्ट करते हैं और स्वयं को इस प्रश्न को हटा देते हैं। –

+0

आप पदानुक्रम के बजाय 1-एम संबंध बनाने की कोशिश क्यों कर रहे हैं? यदि मॉडल अनुबंध में अनुबंध नाम NYMEX अनुबंध जैसा ही है, तो क्या वह विदेशी कुंजी नहीं होनी चाहिए? ModelContractName मॉडल अनुबंध में बेहतरीन अनाज तत्व प्रतीत होता है, इसलिए नामों की विशिष्ट सूची उपयुक्त उम्मीदवार कुंजी होनी चाहिए (हालांकि एक पूर्णांक सरोगेट कुंजी बेहतर होगी।) – JAQFrost

उत्तर

6

आपके पास कितने लोगों का उदाहरण है आपके बीच वास्तविक डेटा (व्यापार) और आपके आयाम डेटा (मॉडल अनुबंध) के बीच संबंध। इसे देखें: dimension relationship।आपका मामला एक दुर्लभ मामला है क्योंकि मॉडल अनुबंध केवल एक अनुबंध नाम को सौंपा जा सकता है लेकिन यह अभी भी कई मामलों में पड़ता है। इसे आयामी मॉडलिंग में पुल-टेबल का उपयोग करके संभाला जाता है और एसएसएएस में वे इसे एक इंटरमीडिएट तथ्य तालिका कहते हैं। एक बार जब आप इस तरह आपकी DSV सेटअप: enter image description here

इसके बाद आप अपनी परियोजना में अपने आयाम भी बना है और फिर एक उपाय समूह बनाने के ModelContract एक मध्यवर्ती तथ्य तालिका के रूप में उपयोग करने में सक्षम होना करने के लिए। इसके बाद आप सेटअप अनेक-से-अनेक संबंध चुनने घन के लिए आयाम उपयोग होगा:

enter image description here enter image description here

एक तरफ ध्यान दें के रूप में, आप हमेशा किराए की कुंजी अपने आयामों के लिए उपयोग करना चाहिए। उनके पास कई फायदे हैं जैसे कि आप वास्तव में तालिका, भंडारण स्थान, धीरे-धीरे बदलते आयाम, स्रोत सिस्टम decoupling, ...

+0

सरोगेट कुंजी को शामिल करने के लिए निश्चित रूप से रीमोडलिंग पर विचार करें! – elgabito

0

आपको यहां 2 आयाम करने की आवश्यकता है।

पहले, आपको पूरे आयाम के हिस्से के रूप में अपनी तिथि नहीं जोड़नी चाहिए। तारीख खुद ही एक आयाम के रूप में मौजूद होना चाहिए।

दूसरा, जैसा कि मैंने देखा, आपको NYMEX अनुबंध और मॉडल अनुबंध में शामिल होना चाहिए और एक आयाम बनाना चाहिए। आप डीएसवी पर नामित क्वेरी के साथ उनसे जुड़ सकते हैं या SQL व्यू बना सकते हैं या आप दोनों टेबल डीएसवी पर अलग हो सकते हैं और आयाम पर शामिल हो सकते हैं।

तीसरा, एनवाईएमईएक्स ट्रेड आपकी तथ्य तालिका है। एक बार आपके पास पिछले आयाम दोनों बनने के बाद, आपको उन्हें घन में जोड़ना चाहिए और फ़ील्ड का उपयोग करके आयाम संबंध टैब पर तथ्य तालिका के साथ उनसे जुड़ना चाहिए अनुबंध नाम और ट्रेडडेट