我必须创建一个类似于下面的SSRS报告。进入城市A&从城市B获得的是一个矩阵,而从城市C获得的是在不同的矩阵表中。这些是我从数据集获得的字段,最后一个%字段是由A / C计算的字段。由于A位于不同的Matrix表中,因此我无法获得该值进行计算。
Information January February March April May June July August
Entered into City A
Leaved From City B
TOTAL COUNTS AND ENTERED % OF COUNTS ARE MENTIOEND BELOW
Total Count in City C
%of Ppl Entered A/C
使用两个数据集的原因是我在表格的中间有一个单独的标题。 你能否就此提出建议
答案 0 :(得分:0)
您可以通过在报告代码中创建哈希表来存储城市值,然后根据需要获取城市值来实现此目的。报告代码如下所示:
Dim cityTotals As System.Collections.Hashtable
Public Function AddCityValues(ByVal city As Object, ByVal amount As Object)
If (cityTotals Is Nothing) Then
cityTotals = New System.Collections.Hashtable
End If
If (Not cityTotals.Contains(customer)) Then
cityTotals.Add(city, amount)
End If
AddCityValues = amount
End Function
Public Function GetCityValues(ByVal city)
If (Not cityTotals.Contains(city)) Then
GetCityValues = 0
End If
If (cityTotals.Contains(city)) Then
For Each cityPair As System.Collections.DictionaryEntry In cityTotals
If cityPair.Key.ToString() = customer Then
GetCityValues = cityPair.Value
End If
Next
End If
End Function
在报表表达式中,为了向哈希表添加值,请使用AddCityValues函数,如下所示:
=Code.AddCityValues(Fields!CityName.Value,Fields!Amount.Value)
为了在报告中稍后获取值,请使用GetCityValues,如下所示:
=Code.GetCityValues(Fields!CityName.Value)
您可以创建字符串键连接值,以便存储和获取更精细的数据。