我试图找出向SSRS报告添加多个字段的最佳方法。Report有一些从查询中填充的绘图和tablix,但是现在有人要求我添加一个包含20个值的表。问题是,我需要将它们按特定的顺序/布局(通过排序无法获得),而且它们可能需要在上面添加一个描述,这将是静态文本(而不是来自DB)。
我希望避免保留20个返回单个单元格的查询的副本,其中唯一的区别是:WHERE myTable.partID = xxxx是否有可能保留一个查询,该查询接受该字符串,就像一个参数,我可以通过表达式或任何其他方式指定该参数?不是一个经典的SSRS参数,因为每个单元需要一个不同的参数.或者,我需要创建20个查询来获取所有的单个值,然后将它们作为单独的文本字段放在报表中吗?
发布于 2018-04-09 19:01:16
当我在过去这样做的时候,我构建了一个查询,它用某种键获取我所需要的所有数据。
例如,我可能有一个标题和值的列表(每行一个),需要作为报告页的一部分来显示。数据集查询可能看起来类似于..。
DECLARE @t TABLE(Key varchar(20), Amount float, Caption varchar(100))
INSERT INTO @t
SELECT 'TotalSales', SUM(Amount), NULL AS Amount FROM myTable WHERE CountryID = @CountryID
UNION
SELECT 'Currency', NULL, CurrencyCode FROM myCurrencyTable WHERE CountryID = @CountryID
UNION
SELECT 'Population', Population, NULL FROM myPopualtionTable WHERE CountryID = @CountryID
SELECT * FROM @t生成的数据集将如下所示。
Key Amount Caption
'TotalSales' 12345 NULL
'Currency' NULL 'GBP'
'Population' 62.3 NULL假设我们将这个数据集称为dsStuff,那么在每个单元格/文本框中,xpression将是类似的东西。
=LOOKUP("Population", Fields!Key.Value, Fields!Amount.Value, "dsStuff")或
=LOOKUP("Currency", Fields!Key.Value, Fields!Caption.Value, "dsStuff")https://stackoverflow.com/questions/49734317
复制相似问题