我有一个报告(BIDS SSRS 2008 R2),其中有一个参数,允许用户从列表中选择多个值(比如销售区域)。
然而,由于列表很长(大约15个可能的值),我希望默认选中最常用的两个值。
我在"参数属性"->>"默认值"对话框中进行了配置,在预览模式下运行报告时它可以正常工作,也就是说默认值被选中了。
但是,当我部署并在IE9 (或Chrome)中运行它时,它就不起作用了。
有任何想法吗?
我有一个报告(BIDS SSRS 2008 R2),其中有一个参数,允许用户从列表中选择多个值(比如销售区域)。
然而,由于列表很长(大约15个可能的值),我希望默认选中最常用的两个值。
我在"参数属性"->>"默认值"对话框中进行了配置,在预览模式下运行报告时它可以正常工作,也就是说默认值被选中了。
但是,当我部署并在IE9 (或Chrome)中运行它时,它就不起作用了。
有任何想法吗?
我猜测你的构建过程有问题,你上传的文件没有得到更新,可能是因为你做出了更改或者某个值没有被覆盖。为了确保参数默认值正确,可以采取以下措施:
进入服务器上发布的报告,点击右侧的下拉箭头选择“管理”。现在在左侧窗格中选择“参数”。在“Has Default”列下(2008R2及以上版本中从左起第三列)应该被选中。然后在“默认值”下,它是一个特定的明确输入或者会显示“基于查询”的意思,这意味着它从数据集或类似方式中获取其值。如果这与您预期的值不同且明确,则可以在此处进行更改。
如果它是基于查询的,并且您观察到无法在此更改数据,那么我会前往BIDS,打开解决方案下的SSRS项目,然后选择“在Windows资源管理器中打开文件夹”。查找报告的数据文件并将其删除。请注意,这不是报告本身,而是类似于“report.rdl.data”的文件。这通常不会影响构建过程,只是预览,但我们希望在重建后完全按照预览来进行。转到报告项目,选择“清理”,然后选择“重新构建”,以确保您除了显式删除的一个文件之外,还删除了bin中的所有数据文件。现在点击报告预览,验证它是否符合默认值的预期。再次发布并观察。
如果这仍然没有改变报告,请将报告重命名为“report_old”并尝试重新发布。
如果这仍然没有生效,我会检查我们想要发布的位置是否有效,我们是否正确地进行了部署,以及任何参数是否从未设置为“不要覆盖”或因配置设置导致发布被停止而产生的奇怪情况所获取的共享数据集中获取数据。
在过去的使用中,SSRS对我来说存在一些奇怪的问题,这些问题与我的文件处于源代码控制下以及系统不想要更新参数有关。通常情况下,这可以通过重新构建来解决,但有时确实需要发布新的二进制文件。
SELECT Type
FROM MyTable
WHERE Date <= @BEG_DATE
AND Date >= @END_DATE
SELECT Type
FROM MyTable
WHERE Type IN ('A','B','G','H')
SELECT Type
FROM MyTable
WHERE Type IN ('A','B','G','H')
AND Date <= @BEG_DATE
AND Date >= @END_DATE
我遇到了类似的问题,但是在预览模式下默认值甚至没有被填充。
问题在于我的默认值查询中加载的一个代码不存在于可用值查询中。
例如,代码2000在默认值查询中,但不在可用值查询中。
结果:没有任何默认值被选中。
一旦我修复了填充查询,所有的默认值都被选中了。
去想吧。
今天我遇到了完全相同的问题。 我在SSRS 2008 R2(sharepoint集成)上有两个报告,当我将一个参数设置为默认值时,无论我尝试什么更改,都不会生效。 在BIDS(VS 2012)中,它运作良好。 我甚至更新了一个标签以验证我的更改是否被上传到服务器。 最终,我不得不从服务器中删除报告,并重新上传它们,然后默认值才能起作用。
今天我也遇到了同样的问题。(2016年6月23日)
原因:当我们在报表服务器上上传/部署相同的报表时,参数默认值和某些属性的默认值是在报表服务器级别控制的。
解决方案:如果您使用任何工具(如reportsync
)重新部署相同的报表,则必须确保首先删除所有这些报表/单个报表,以使默认值生效,然后执行同步操作。
注意:在执行此操作之前,请使用您使用的同一实用程序备份所有SSRS报表。因为有时由于超时错误或某些服务器问题,您的操作可能会失败。
替代解决方案:如果您只有很少的报表,并且不想删除这些报表,则可以通过转到“参数”选项卡并勾选Has Default
来手动更改默认值。就是这样。
希望这对所有SSRS开发人员有所帮助。
我之前也遇到过这个问题。 删除报告,然后通过更改名称重新上传,对我有用。
请确保如果您有一个默认值,在报告参数属性表单下的值是您想要的实际值。有时候意外地复制默认值并将其粘贴到值框中可能会添加前导空格或尾随空格。