2017-10-12 114 views
0

我有使用表格的SSRS报告。 您可以选择多个客户端和期间,并且对于每一对,表格中都会有一行。所以2个客户* 3个周期= 6行。SSRS子报表在表格单元格内没有正确检索参数?

现在...有一些单元比单个值更复杂,我想在这些单元中放置一个子报表。子报表将该特定行的客户和期间视为参数。

这是问题出现的地方。参数将无法正确传递。

我可以把Parameters!ClientID.Value(0)作为一个表达式,例如它会正确传递第一个ClientID,但是如果我只是把Parameters!ClientID.Value打破了...并且我希望客户机/期间为当前行。

但是,它是如何,我不能通过参数,但可以基于该客户端/期间对每行填充新的数据集?

请注意,我真的不希望编辑构建该数据集的SP来返回客户端/期间本身。当然,这会工作..但是,当我有参数时,为什么会这样?

任何想法?我在Visual Studio Report Project中执行此操作。

回答

0

如果我理解正确,则不需要使用该参数。您需要使用数据集中字段的值。所以,如果你的表格显示了客户端和时间然后再传入的参数值是=Fields!Client.Value=Fields!Period.Value

Client Period SubReportCell 
Bob  2017  "subreport here passing in Bob, 2017" 
Geoff  2015  "sub report here passing in Geoff, 2015" 

你应该只能够从报表设置对话框的下拉列表中选择这些。

+0

从Drop Downs中选择ClientID和PeriodID。他们是报告参数。 然后有一个SP将每行的这些值作为参数并返回我用于该行的DataSet。 DataSet不包含其本身的ID。 然后在每一行内都有一个子报表,我也想要这些参数。 – Caleb

+0

你让我意识到构建DataSet的SP需要参数的LIST。我以为它一行一行......我想我将不得不将值添加到数据集。 – Caleb

+0

好的,我没有意识到你正在那样做,但希望它让你思考一种稍微不同的方法,从长远来看应该会让事情变得更容易。 –