2009-04-28 16 views
8

मेरे पास दो स्थानीय डेटा स्रोत हैं जिन्हें मैं रिपोर्ट में डाल सकता हूं। कोई समस्या नहीं है। लेकिन मैं रिपोर्ट कैसे स्थापित करूं? एक डेटा स्रोत में कर्मचारियों की एक सूची होती है, और उनके बारे में जानकारी होती है। दूसरे में प्रत्येक कर्मचारी के लिए कामकाजी घंटों का एक गुच्छा शामिल है।एसएसआरएस: दो डेटा स्रोतों के साथ मास्टर-विवरण रिपोर्ट

मैं कर्मचारियों की सूची के लिए एक टेबल का उपयोग करना चाहता हूं, और उसके बाद प्रत्येक कर्मचारी (उनके कामकाजी घंटों के साथ) के कामकाजी घंटों के लिए एक और टेबल है।

क्या यह भी संभव है? क्या मुझे उप-रिपोर्ट का उपयोग करना है? क्या मुझे उन्हें एक डेटासोर्स में विलय करना होगा? =/

उत्तर

5

जहां तक ​​मैं कह सकता हूं, एक सबसेट के बिना किसी अन्य के अंदर एक डेटासेट घोंसला करना असंभव है।

यह आपको दो चीजों में से एक करने की ज़रूरत का अर्थ है:

  1. एक एकल डेटा स्रोत में अपने दो datasources refactor। उदाहरण के लिए, प्रत्येक कर्मचारी के लिए कर्मचारियों और कामकाजी घंटों के बीच जुड़ें। फिर आप तालिका ऑब्जेक्ट के समूह गुणों का उपयोग सूची को जिस तरीके से चाहते हैं उसे प्रारूपित करने के लिए कर सकते हैं।

  2. यदि दो डेटा स्रोतों में शामिल होना व्यावहारिक नहीं है, तो आप जो भी चाहते हैं उसे पूरा करने के लिए आप subreports का उपयोग कर सकते हैं। कामकाजी घंटे डेटा स्रोत युक्त एक सब्रेपोर्ट बनाएं और इसे वर्तमान कर्मचारी के लिए पैरामीटर दें। इस पैरामीटर द्वारा कामकाजी घंटों को फ़िल्टर करें।

    अपनी मूल रिपोर्ट में, आप सूची में सबरेपोर्ट डाल सकते हैं और वर्तमान पंक्ति के लिए कर्मचारी आईडी को पैरामीटर के रूप में पास कर सकते हैं।

    ध्यान दें कि subreports का उपयोग करने में शामिल कुछ स्वरूपण quirks हैं। मैं ज्यादातर मामलों में उनके आसपास काम करने में सक्षम हूं, लेकिन पसंदीदा विधि निश्चित रूप से उपरोक्त नंबर एक होगी।

+0

लेकिन अगर मैं उन तालिकाओं में शामिल होता हूं, तो यह उन पंक्तियों में दोहराए गए डेटा का बहुत लंबा होगा। क्या वो वजह बन रही हे? या एसएसआरएस ठीक से सामना करता है? एक टेबल में एक सबरेपोर्ट जोड़ने के लिए कैसे है? मैं वास्तव में पहले डेटासोर्स के लिए एक टेबल का उपयोग करना चाहता हूं, क्योंकि फ़ॉर्मेटिंग सही बनाने के लिए यह इतना आसान है। लेकिन टेबल सेल में सबरेपोर्ट कैसे लगाया जाए? क्या आप उनमें से एक समूह में शामिल हो जाते हैं? या आप यह कैसे करते हो – Svish

1

एकाधिक डेटा स्रोत स्थापित करने के लिए ... आपको रिपोर्ट में दो अलग-अलग सूची ऑब्जेक्ट्स रखने की आवश्यकता है। डिजाइनर पर जाएं, और टूलबॉक्स में आप इसमें एक नई "सूची" डाल सकते हैं। फिर, आप एक और रिपोर्ट कर सकते हैं। अपने माध्यमिक डेटासेट के लिए दूसरी सूची को लिंक करें, जिसे आप द्वितीयक डेटासोर्स के माध्यम से कार्यान्वित करते हैं।

यह एक छोटा सा हिस्सा है, लेकिन बुनियादी विचार यह है कि रिपोर्ट में प्रत्येक सूची वस्तु केवल एक डेटा स्रोत से जुड़ी हो सकती है।

+0

ठीक है, मुझे पता है। लेकिन इसके परिणामस्वरूप एक दूसरे के बाद दो सूचियां आ जाएंगी? मुझे पहली सूची में प्रत्येक आइटम के बाद आने वाली द्वितीयक सूची की आवश्यकता है। और केवल उन तत्वों को शामिल करने के लिए जो उस आइटम से प्रासंगिक हैं ... – Svish

+1

उनसे लिंक करने में सक्षम होने के लिए, आपको विश्वास है कि आपको उन्हें उसी डेटासोर्स में रखना होगा, मुझे विश्वास है। एक सूची सूची में दो डेटा स्रोतों को इंटरविविंग करना काम नहीं करेगा, जो वास्तव में आपको एक दूसरे पर समूहित करने के लिए क्या करना होगा। –

5

यह सुनिश्चित करने के लिए एक नया उत्तर जोड़ना कि इसके लिए अधिसूचना भेजी गई है।

एक सब्रेपोर्ट का उपयोग करना यह सबसे आसान तरीका है जब यह काम करता है। आप बस एक सेल सेल पर एक सबरेपोर्ट खींच और छोड़ सकते हैं, और यह उस सेल के सामग्री क्षेत्र को भर देगा। सबरेपोर्ट पर राइट-क्लिक करने से आप सब्रेपोर्ट के लिए पैरामीटर संपादित कर सकते हैं। एसएसआरएस में अधिकांश मूल्यों की तरह, पैरामीटर को अभिव्यक्तियों पर सेट किया जा सकता है जो तालिका में फ़ील्ड का उपयोग करते हैं।

सबरेपोर्ट के भीतर, केवल पैरामीटर के रूप में पारित कर्मचारी के साथ जुड़े रिकॉर्ड दिखाने के लिए अपने परिणामों को फ़िल्टर करें।

दूसरा मार्ग जो आप ले सकते हैं वह है कि आप अपने दो डेटा स्रोतों को एक जॉइन का उपयोग करके मर्ज करें। यह आप इस तरह डेटा कुछ दे देंगे:

employee1 time1.1 
employee1 time1.2 
employee1 time1.3 
employee1 time1.4 
employee2 time2.1 
employee2 time2.2 
employee2 time2.3 

फिर आप एक (कर्मचारी इस उदाहरण में) दोहराया स्तंभों पर समूह बना सकते हैं, और उन स्तंभों पर HideDuplicates संपत्ति सक्षम करें।परिणाम इस तरह दिखेगा:

employee1 time1.1 
      time1.2 
      time1.3 
      time1.4 
employee2 time2.1 
      time2.2 
      time2.3 
+0

लेकिन, जैसा कि मैंने दूसरे प्रश्न पर टिप्पणी में पूछा, यह करने पर प्रदर्शन कैसा प्रदर्शन होता है? मैं सोच रहा हूं कि जब आप उन दो तालिकाओं में शामिल हों तो आप बहुत बार दोहराए गए डेटा के साथ एक बहुत बड़ी मेज के साथ समाप्त हो जाएंगे। लेकिन दूसरी तरफ, इसमें केवल एक टेबल और एक रिपोर्ट होगी जिसके साथ सौदा करने के लिए ... और दो टेबल और एक उप रिपोर्ट ने एक गजलियन बार दोहराया ... – Svish

+0

इसे आज़माएं, और पता लगाएं :) आपके विवरण से समस्या, मुझे संदेह है कि शामिल डेटा दो स्वतंत्र रूप से लाने की तुलना में नाटकीय रूप से अधिक समय लेगा। लेकिन यदि अतिरिक्त कॉलम असामान्य रूप से बड़े हैं तो यह एक मुद्दा हो सकता है। – AaronSieb

+0

हम्म ... शायद मैं उनसे जुड़ने की कोशिश कर सकता हूं। ऐसा लगता है कि एक तालिका के अंदर अच्छी तरह से एक उप रिपोर्ट प्राप्त करने के लिए थोड़ा मुश्किल लगता है। और कॉलम वास्तव में इतना बड़ा नहीं है। बस नियमित संख्या और तिथियां और कुछ पाठ। – Svish

0

रिपोर्ट दस्तावेज़ वर्ग में एक संपत्ति "डेटाबेस" कहा जाता है, जो तालिकाओं का एक संग्रह है है। रिपोर्ट में वस्तुओं की अलग-अलग सूचियां रखने के लिए, आप उन तालिकाओं में से प्रत्येक पर "SetDataSource" का उपयोग कर सकते हैं।

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