在单个SSRS图表中使用2个数据集

时间:2014-11-24 19:23:49

标签: reporting-services ssrs-2008

我在数据库中有一个包含术语及其相关定义的表。大多数术语包含定义,但有些未定义,并且为NULL。

我有两个SQL查询,两个区分两组术语,如下:

定义术语:

SELECT COUNT (*)
FROM INFA_META.IMW_ELEMENT E left Join INFA_META.IMW_ELMNT_ATTR EA
ON E.ELEMENT_UID = EA.ELEMENT_UID
WHERE E.CLASS_UID = 35947 AND CLASS_ATTR_UID = 35951 AND EA.ELMNT_ATTR_VALUE != 'NULL'
ORDER BY E.CLASS_UID;

没有定义的术语:

SELECT Count (*)
FROM INFA_META.IMW_ELEMENT E left Join INFA_META.IMW_ELMNT_ATTR EA
ON E.ELEMENT_UID = EA.ELEMENT_UID
WHERE E.CLASS_UID = 35947 AND CLASS_ATTR_UID = 35951 AND EA.ELMNT_ATTR_VALUE = 'NULL'
ORDER BY E.CLASS_UID;

目前,这些都列在SSRS报告中的单独数据集中。我试图在饼图上显示具有定义的计数与未定义的计数。我不能为我的生活弄清楚如何将信息从两个单独的数据集显示到一个图表中。

感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:1)

在报表中创建Tablix /图表时,您将为其提供一个DataSetName。让我们说它是“DataSet1”。默认情况下,您在Tablix中引用的任何数据字段都来自DataSet1。

如果要在同一个tablix中访问DataSet2中的数据,可以使用如下表达式来执行此操作:

=Sum(Fields!MyFieldName.Value, "DataSet2")

但是,这假设您不需要DataSet2中的数据与DataSet1中同一行上的其他数据相关。如果您需要逐行将Dataset2与Dataset1相关联,那么您需要在SSRS中谷歌LOOKUP函数。 (我之前从未需要它,所以我没有任何方便的例子。)