将字段值作为参数ssrs传递

时间:2012-03-05 15:40:40

标签: parameters reporting-services datafield

我有一个字段customerid,它是查询中的一个字段,但我没有在报告中显示此customerId。字段customerid位于dataset1中。

我有另一个名为dataset2的数据集,我有查询“select ordername .... where order.customerId = o_custId”(我需要将dataset1中的customerId字段传递给参数o_cust_id)。

所以我创建了一个参数c_customer_id,我在参数的向导/属性中设置了“默认值”,在我选择“从查询中获取值”之后,将值字段设置为customerid,将数据集设置为dataset1。然后我点击了dataset2的属性并在参数I set中:o_cust_id = [@c_customer_id](这是参数)。

所以基本上我将o_cust_id的值设置为参数c_customer_id,其值设置为dataset1中的customerid字段。

问题是我只是为所有customerid获取相同的值。数据集2中的ID不会更新,但会在dataset1中更新。因此,相同的参数值将传递给dataset2。这有什么不对?

谢谢, raghul

1 个答案:

答案 0 :(得分:1)

听起来好像数据集2在其自己的报表项中报告,而不是在数据集1的报表项(表,列表等)中报告。

您描述的技术是如何在SSRS中创建子报告 - 请参阅herehere

如提供的链接所示,子报表需要位于主数据集的报表项主体内 - 因此,在这种情况下,解决方案可以是在dataset1的报表项中添加dataset2的报表项。 / p>

或者,将两个数据集合并为一个数据集可能更简单。