我有一個SSRS折線圖,它繪製了X軸上的平方英尺和Y軸上的價格的供應點。現在我並不真正關心如何讓線條正確顯示。我正在繪製細分/構建器的點和分組。ssrs圖表行不連接
因此,例如分區A具有建設者Y和Z.我想表明的細分不同的顏色和線條構建器Ÿ經文分區建設者Z.
的問題是,該線沒有連接時的點另一個細分生成器組合打破了這條線。
由於黃點位於灰點之間,因此灰線不與所有灰點連接,下面的灰線和點並不全部連接。
如何使相同顏色的點(相同的Subdivision/Builder)通過一條線連接?
我有一個SSRS折線圖,它繪製了X軸上的平方英尺和Y軸上的價格的供應點。現在我並不真正關心如何讓線條正確顯示。我正在繪製細分/構建器的點和分組。ssrs圖表行不連接
因此,例如分區A具有建設者Y和Z.我想表明的細分不同的顏色和線條構建器Ÿ經文分區建設者Z.
的問題是,該線沒有連接時的點另一個細分生成器組合打破了這條線。
由於黃點位於灰點之間,因此灰線不與所有灰點連接,下面的灰線和點並不全部連接。
如何使相同顏色的點(相同的Subdivision/Builder)通過一條線連接?
正如我最近發現了艱辛的道路,這個問題往往是在未正確處理SSRS數據引起null
值。沒有看到你的數據,我不能確定這是什麼原因,但是我是遇到同樣行爲的罪魁禍首。
解決方案通常包括將值分配給Series上的EmptyPoint
屬性的顏色,有時會與設置EmptyPointValue
以指定null
處理一起使用。我發現在網絡上這個問題多次提到,但我只張貼鏈接到兩個最好的,這兩者都是在StackExchange:
IIf
對每行的顏色表達式進行硬編碼,但有時這不是一種選擇,尤其是當您正在分組的字段具有動態的,不可預知的值時,就像我的數據集一樣。張貼在那裏的圖片描繪了相同類型換行符的清晰示例。用戶命名trubs發佈一個代碼示例,其示出了如何設置EmptyPoint,在的情況下的IIF將工作:
=iif(isNothing(Fields!SelectedValue.Value),'No Color',"LightBlue")
EmptyPoint
值& null
s爲根本原因,簡單的硬編碼IIf
旨意不會做的伎倆。儘管我還沒有按照我喜歡的方式讓線條顏色與點標記相匹配,但我可以驗證此解決方案至少可以讓您恢復線條並允許爲其分配各種顏色。它非常簡單,只需粘貼一些VB代碼中的一些顏色屬性。我被要求在評論部分,提供解決方案的細節,但不想抄襲,所以我會簡單地做JohnBob的回答很直接報價:
首先,爲了使線條合起來,您需要爲該系列設置 EmptyPoint顏色。
圖表在屬性選項卡(不是 對話框)鑽到EmptyPoint屬性和設置選擇系列的顏色 是黑色
這將讓他們加入了 - 耶!但部分顏色爲 ,另一部分爲黑色,對不對?這有點傻,尤其是 考慮如果您將顏色設置爲EmptyPoint 上的自動,它將是透明的。
那麼,我們需要獲得 同步系列和EmptyPoint的顏色。使用這裏的代碼。我在 報告的代碼中添加了一些代碼。
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的顏色時。
Select your series In the properties tab paste something the following (replace WhateverTheGroupIsForYourSeries with your series group name):
=Code.GetColor(Fields!*WhateverTheGroupIsForYourSeries*.Value)
鑽到EmptyPoint系列屬性的顏色元件 相同的文本粘貼爲從點2 [例如=Code.GetColor(Fields!*WhateverTheGroupIsForYourSeries*.Value)]
瞧!你完成了!我不敢相信這是多麼困難 這是:D
我希望這有助於。
儘管此鏈接可能會回答問題,但最好在此處包含答案的重要部分,並提供供參考的鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 - [來自評論](/評論/低質量/職位/ 12550948) – IAmInPLS
感謝您的提醒 - 我會盡力在今天晚些時候更新信息。我想在提供足夠的信息和不抄襲鏈接到現有的StackExchange線程之間取得平衡。這個問題可能被認爲是重複的。我會標記它,看看mods的想法。 – SQLServerSteve
找到downvote的原因本來不錯。爲了解決真正的技術問題,我遇到了很多麻煩,所以我不知道如何去改進答案。 – SQLServerSteve