使用SSRS 2008 R2并想知道,是否可以为多值参数中选择的每个值生成子报告?

让我们假设您有多值参数“parameterA”,其中选择了四个值(Value1,Value2,Value3和Value4)。 我想为每个值生成子报告(将值作为单个参数传递)。 当然,我可以改变程序来处理多值参数,但由于性能和缓存,我真的不想这样做。

谢谢你的建议。

#1楼 票数:4 已采纳

为此,您必须将子报表放入列表或Tablix中。 据我所知,没有简单的方法让列表或tablix迭代多值参数中的值。 它只接受数据集。

因此,我能想到的唯一解决方法是将参数拆分为数据集中的一组行,这可能但不是微不足道的SQL。 但是,如果参数的可用值来自数据集,则情况会改善:您可以将Tablix / list挂钩到数据集,并过滤未在参数中选择的项目。

编辑:通过将数据集查询构建为表达式,我发现了将多值参数扩展为数据集的稍微有点破解的解决方案。 假设参数@MultiParamX此表达式将创建一个查询,该查询在一列中输出所有选定的值:

="SELECT '" 
&
 Join(Parameters!MultiParamX.Value, "' MyParam UNION ALL SELECT '")
&
"' MyParam"

这可能会生成一个查询,如下所示(为了便于阅读而重新格式化):

SELECT 'A' MyParam
UNION ALL
SELECT 'B' MyParam
UNION ALL
SELECT 'C' MyParam
-- Etc. for all selected values

这将生成一个结果集,例如:

┌─────────┐
│ MyParam │
├─────────┤
│ A       │
│ B       │
│ C       │
│ Etc.    │
└─────────┘

  ask by ulath translate from so

未解决问题?本站智能推荐:

1回复

SSRS 2008续组标题子报告

我的主报告中包含多个子报告。 我要实现的目的是为每个报表正确显示一个标题,并在第二页或更多页面上显示时更改:主标题标题子报告1 /标题子报告1(续)标题子报告2 /标题子报告2(续) 我知道无法使用页面标题,因为页面标题将在另一个报表中作为子报表生成时消失。 因此,我研究了在子报表中添
1回复

SSRS将数据从主报告传递到子报告

我有一个包含子报告SRpt的报告MRpt。 MRpt有2个数据集ds1,ds2。 SRpt有1个数据集dsA。 所有数据集均由不同的存储过程生成。 我一直在尝试使用此处的各种建议将数据从主报表数据集传递到子报表,但到目前为止似乎还没有帮助。 这是我要完成的任务的简短说明。 MRp
2回复

使用子报表构建SSRS报告

我有一个报告,该报告需要显示4个不同的子报告。 我通过采用一个包含4行的表并在每行中放置一个子报告来实现此报告。 现在,当我运行报告时,报告没有按我在表中排列的顺序显示。 我有什么想念的吗?
1回复

仅当在SSRS 2008中传递了参数时,才将参数传递给子报表并在其中显示

我正在尝试编写一份包含员工年度记录的报告。 我基于此创建了一个表和一个图表。 现在,我想创建一个子报表,该报表将在主报表中显示YEAR的每月记录。 在我进行追溯时,报告运行得很完美,但是必须使用子报告才能实现。 所以基本上主报告有 参数:员工 第二份报告有: 参数:员工
1回复

SSRS 2008 R2按需向下钻取报告

在SSRS 2008 R2中,我认为向下钻取到子报告会按需查询数据。 报告呈现时不是这种情况。 具体来说,我有一个Tablix,它最初加载按Person分组的行。 当有人单击该Person上的向下钻取图标时,子报表会显示与该Person相关的更多数据。 这里的问题是在呈现主报表时最初
1回复

子报表中的SSRS 2008交互式排序未按预期工作

我有一个具有列表的(父)报告。 该列表的详细信息组包含一个子报告。 因此,基本上,如果列表具有10条记录(行),则子报表将执行10次。 问题似乎出在子报表中的交互式排序上。 它具有4个启用了交互式排序的列。 当我运行父报表并尝试对列进行排序时,SSRS会“记住”先前的排序列,并同时
1回复

SSRS 2008-包含子报表将导致主报表不返回任何数据

我有一份效果很好的报告。 我在顶部插入了一个子报表(基本上是一个封面) 现在,该报告的其余部分将运行,但整个过程都“无可用数据” 到底是怎么回事?!
1回复

从C#调用SSRS报告时,只有主报告显示数据子报告给出错误

我开发了一个SSRS报告,其中包含一个主报告和一个子报告。 我从C#调用此报告。 我只知道如何将主rdlc与数据集绑定。 我使用下面的代码 当我运行exe时,我正在使报表查看器填充主报表但3子报表显示错误,因为我没有为这些子报表指定DataSource 主报告和