我在microsoft Visual Studio 2008中有一个由大型SQL查询驱动的SSRS报告。有一个主要组,其中包括两个部分,每个部分都包含几行数据。我想在该组中创建第三部分(下面的Z),将来自同一组不同部分的特定行的值相加。例:
cry1018 回答:如何在SSRS中创建一个子组,将来自其他组的特定行的值相加?
我个人会在您的数据集中执行此操作。
SELECT Category,Location,Results INTO #t FROM ([existing query here]) q
SELECT * FROM #t
UNION ALL
SELECT 'Z','1 & 3',SUM(Results) FROM #t WHERE Category='X' and Location IN (1,3)
UNION ALL
SELECT 'Z','2 & 4',SUM(Results) FROM #t WHERE Category='Y' and Location IN (2,4)
这意味着数据集将拥有您的所有数据,并且不需要在报表中进行任何其他工作。
您可以直接在报告中执行类似的操作,方法是在主组之外添加更多行,然后设置表达式以对报告的相关位求和,但是通过sql进行操作和调试(IMO)会容易得多