2011-11-28 11 views
8

मैंने उच्च और निम्न देखा है और ऐसा लगता है कि यह काफी सरल मुद्दों (मुझे लगता है) के बारे में कोई जवाब नहीं मिल रहा है।एसएसआरएस लाइन चार्ट डेटा पॉइंट्स को कनेक्ट नहीं कर रहा है

मेरे पास एक लाइन चार्ट है जहां श्रृंखला में कई बिंदुओं पर डेटा है लेकिन केवल अंक का एक सेट लिंक है।

क्या किसी को पता है कि यह क्यों है? क्या यह मेरे डेटा के साथ है? यदि ऐसा है, तो मैं डेटा में किसी भी रिश्ते को देखने के लिए संघर्ष कर रहा हूं जो इस व्यवहार को समझा सकता है।

यहाँ मैं क्या मतलब है:

Messed up data points

आप देख सकते हैं, लाल हीरे को जोड़ने की जानी चाहिए - एक ही नीले वर्गों और गहरा नीला त्रिकोण के बारे में कहा जा सकता है। कोई विचार?

क्षमा करें यदि मेरे रंग गलत हैं - मैं रंगीन हूं।

उत्तर

16

ठीक है, इसलिए मैंने इसे काम किया।

सबसे पहले, लाइनों को शामिल करने के लिए, आपको श्रृंखला के लिए EmptyPoint रंग सेट करने की आवश्यकता है।

  1. आपके चार्ट में अपनी श्रृंखला का चयन
  2. गुण टैब (संवाद) EmptyPoint संपत्ति में अंदर घुसते हैं और रंग सेट में होना करने के लिए काले

यह उन्हें शामिल होने के मिल जाएगा - वाह! लेकिन रेखा का हिस्सा रंग है और दूसरा हिस्सा काला है, है ना? यह थोड़ा मूर्खतापूर्ण है, विशेष रूप से यदि आप एम्प्टीपॉइंट पर स्वचालित रूप से रंग छोड़ देते हैं तो यह पारदर्शी होगा।

तो, हमें श्रृंखला और एम्प्टीपॉइंट के रंग सिंक में प्राप्त करने की आवश्यकता है। here से कोड का उपयोग कर। मैंने रिपोर्ट के कोड में कुछ कोड जोड़ा।

1)। रिपोर्ट पर रिक्त स्थान पर राइट क्लिक करें और "गुण रिपोर्ट करें" का चयन करें
2)। कोड टैब में, पेस्ट निम्नलिखित:

Private colorPalette As String() = {"#418CF0", "#FCB441", "#E0400A", "#05642E", "#1A3B69", "#BFBFBF", "#E0400A", "#FCB441", "DarkBlue", "Tomato", "Orange", "CornflowerBlue", "Gold", "Red", "Green", "LightBlue", "Lime", "Maroon", "LightSteelBlue", "Tan", "Silver"} 
Private count As Integer = 0 
Private mapping As New System.Collections.Hashtable() 

    Public Function GetColor(ByVal groupingValue As String) As String 

     If mapping.ContainsKey(groupingValue) Then 
       Return mapping(groupingValue) 
     End If 

     Dim c As String = colorPalette(count Mod colorPalette.Length) 
      count = count + 1 
      mapping.Add(groupingValue, c) 
      Return c 
    End Function 

फिर हम जब श्रृंखला के और EmptyPoint का रंग की स्थापना के लिए इस कोड को कॉल करने की जरूरत है।

  1. अपने श्रृंखला
  2. का चयन करें गुण टैब पेस्ट कुछ में निम्नलिखित (अपने श्रृंखला समूह नाम के साथ WhateverTheGroupIsForYourSeries की जगह): EmptyPoint सीरीज संपत्ति का रंग तत्व करने के लिए नीचे =Code.GetColor(Fields!*WhateverTheGroupIsForYourSeries*.Value)
  3. ड्रिल
  4. उसी पाठ को बिंदु दो से चिपकाएं [उदाहरण के लिए =Code.GetColor(Fields!*WhateverTheGroupIsForYourSeries*.Value)]

और voila! हो गया! मुझे विश्वास नहीं है कि यह कितना अनावश्यक रूप से मुश्किल है: डी

+0

सबकुछ ठीक काम करता है जब तक कि मैंने चरण 2 और 4 की कोशिश नहीं की। समस्या GetColor फ़ंक्शन तक पहुंचने के साथ है। ऐसा लगता है कि रिपोर्ट गुणों में लिखा गया कोड है जो GetColor फ़ंक्शन को परिभाषित करता है, यहां रंग तत्व में उपलब्ध नहीं है। किसी भी विचार को हल करने का तरीका। मैं आरडीएलसी का उपयोग कर रहा हूं, न कि आरडीएल जो रिपोर्टिंग सेवाओं पर है। – learner

+0

मेरी गलती का पता लगाया! मैंने प्रदान की गई श्रृंखला का नाम टाइपो था। आप समाधान काम किया। धन्यवाद। अब मुझे एकमात्र समस्या यह है कि किंवदंतियों का रंग गड़बड़ हो गया है। एक ही रंग की एक से अधिक उपस्थिति हैं। – learner

+0

मैं अपने वाई वैल्यू के लिए काउंटररो() का उपयोग कर रहा था, जिसने मुझे खाली अंक का भ्रम दिया, लेकिन शून्य के मूल्य के साथ वास्तविक अंक थे। इसके आस-पास पहुंचने के लिए, मैंने अपना वाई वैल्यू = आईआईएफ (काउंटररो()> 0, काउंटररो(), कुछ भी नहीं) – Towler

1

मुझे बस एक समस्या थी जहां यह मार्कर दिखा रहा था लेकिन रेखाएं नहीं।मैंने अभिव्यक्ति को एक पूर्णांक में बदलने के लिए एक CInt() में अभिव्यक्ति को लपेटकर इसे समाप्त कर दिया।

+0

क्या आप इसे कोड उदाहरण के साथ थोड़ा और समझा सकते हैं? मुझे इस समाधान की कोशिश करने में दिलचस्पी है। –

+0

यह समाधान मेरे लिए पूरी तरह से काम किया। चार्ट मान फ़ील्ड चुनें, तीर पर क्लिक करें और अभिव्यक्ति चुनें, और फिर सीआईएनटी ([आपकी अभिव्यक्ति]) के साथ जो कुछ भी है उसे लपेटें। धन्यवाद स्टीव कैव – MrsTapp

0

इसे संभालने का एक और तरीका एक पुनरावर्ती चयन करना है (यदि आपके पास बहुत बड़े डेटा सेट ऐसा नहीं करते हैं, तो यह प्रदर्शन को मारता है)। तो आप अपने डाटासेट कर सकता है:

SELECT *, ROW_NUMBER() over(partition by Store order by Date desc) as rn 
FROM StorePerformance 

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

मैंने अभी भी गहराई से नहीं देखा है कि यह डेटा बिंदुओं को कितना बदलता है क्योंकि हम पंक्ति संख्या के साथ साजिश कर रहे हैं और तारीख प्रदर्शित कर रहे हैं, लेकिन यदि आप मुख्य रूप से लाइनों में रुझानों को देखने के साथ चिंतित हैं और वे कहां से चिंतित नहीं हैं वे एक दूसरे के संबंध में एक निश्चित बिंदु पर हैं, यह आपको ठीक से सेवा देगा। अन्यथा मैं चार्ट को जिस तरह से छोड़ दूंगा और केवल साजिश बिंदुओं को पढ़ूंगा, जो अभी भी वैध डेटा हैं।

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