我有两个数据集,其中包含与我想要合并到一个数据集中的完全相同的字段。
我不能放置UNION / JOIN并让它在查询中返回一个数据集,因为所有数据都经过加密,并由SSRS中加载的程序集引用解密(所以我不能运行必要的WHERE' s除非我使用数据在SSRS中后过滤。
我可以使用Lookup / LookupSet返回第二个数据集但是我在条形图中使用这些数据,因此(不知何故)需要在其上显示两组数据。如果我使用Tablix,我将能够" hack"它通过在主tablix下放置第二个没有标题的Tablix并显示它。不幸的是,我不能这样做。
我还尝试将其作为一个数据集运行,返回所有值,然后运行"过滤器"根据图表中的类别组,无论出于何种原因[SSRS中的错误?],这些过滤器会过滤整个结果集,而不仅仅是一个类别组。
我想在SSRS中做些什么?似乎是如此基本但经过一周的尝试后我才放弃了!
答案 0 :(得分:0)
合并两个数据集是不可能的,但可能有一种方法可以通过 LookUpSet 的 SUM 来伪造它以用于图表目的。使用什么字段,因为您需要使用您的轴使用的任何标准来查找您的值。
我们假设您按月显示销售额。您的值字段为 SUM(字段!TotalSales.value),您的日期字段为字段!month.value 。您希望从 dataset1 添加值,并从 dataset2 中查找总计 - 例如:
=Fields!TotalSales.value + Code.SumLookup( LookupSet(Fields!month.Value, Fields!month.Value, Fields!TotalSales.value, "Dataset2") )
不幸的是,SSRS并不能让你对一个查找集求和(那么它的重点是什么?),所以你必须使用自定义代码来实现它。
Function SumLookup(ByVal items As Object()) As Decimal
If items Is Nothing Then
Return Nothing
End If
Dim suma As Decimal = New Decimal()
suma = 0
For Each item As Object In items
suma += Convert.ToDecimal(item)
Next
Return suma
End Function
被盗:How to combine aggregates within a group with aggregates across groups within SSRS
您的数据显然不同,但概念应该相同。