SQL服务器报告服务:如何在打开时停止报告触发
我们有一些SQL服务器报告服务报告。我没有写,但我必须照顾他们。SQL服务器报告服务:如何在打开时停止报告触发
这些报告在浏览器中打开时触发,并且使用默认参数(搜索条件和限制为空),它们检索很多数据,速度很慢。客户宁愿直到用户输入参数并按下“查看报告”才会生成报告
不幸的是,我不知道SSRS是否完好 - 如何在打开报告时停止报告?
的如何做到这一点上部署的报告(按Rihan Meij的答案)的细节如下:
点击报告,单击“属性”排在首位。您可能需要等一会儿,因为慢速报表可能正在运行。然后点击左边的“参数”。
对于每个参数,请确保已选中“提示用户”,并且对于至少一个参数,“不默认”未被选中。再次点击左上方的“查看”(或返回到文件夹并单击报告名称)查看报告,并注意报告不会立即启动。
在报告生成器中,您可以通过“过滤器”菜单执行此操作。从至少一个过滤器中取消选择值,并保存报告。
当报告没有参数时,是否也可以在加载时停止报告?
我发现我必须设置报表参数的至少一个没有默认值保留从autorunning报告。
我不得不使用此配置(请注意,我离开没有默认参数的所有3个接受空值,因此用户只需点击空复选框):
[截图失踪]
得到用户可以看到这一点,从autorunning保持报告:
[截图失踪]
由于外部链接断开,此篇文章中的重要信息已经消失。如果可以,请恢复缺失的屏幕截图。 – deceze 2016-11-28 10:04:50
我已经通过改变我的查询slighlty来运行时需要参数。
我已经在报告网站上发布了报告后,指定参数,应该提示用户。这确实有这样的效果,即当用户打开报表查看时,报表不会将sql服务器拉到最低限度。
见attached screenshot(一张图片胜过千言万语,吧:))
被阻止的链接12 – Mike 2014-07-25 14:48:30
您的链接已死在“附加屏幕截图”中 – 2017-12-05 12:40:43
我找到了最好的方法是在一个参数不允许空值增加,但不使用报告。这会阻止它在开始时呈现,但不会影响报告。
唯一的缺点是,如果您在报表查看器中显示报表,则在顶部有一个框,看起来有点奇怪。我相信你可以使用一些C#/ CSS来隐藏它。
由于我没有使用报表查看器来显示,只能在后端渲染,这并不影响我。
即使您正在使用报表查看器,它在开发时也很有用!
我这样做只是提供一个默认值的关键参数,不返回任何结果。
例如,如果您的关键参数将部门名称作为文本,则只需将默认值指定为“NO-AUTO-RUN”,这样数据集将不会导致结果。 – George 2012-12-21 11:36:51
我知道这篇文章有点旧,但由于我有另一个解决方案在这里,我只是张贴它,以防有人需要它。
如果您使用ReportViewer的posible来设置属性ShowBody =“False”。然后在OnSubmittingParameterValues事件上,将ShowBody属性更改为true。那么在报告中不需要任何额外的参数或没有默认值的参数。
<rsweb:ReportViewer
ID="rv"
runat="server"
Width="100%"
Height="100%"
SizeToReportContent="false"
ZoomMode="PageWidth"
KeepSessionAlive="true"
ProcessingMode="Remote"
PromptAreaCollapsed="false"
InteractivityPostBackMode="AlwaysAsynchronous"
AsyncRendering="true"
ExportContentDisposition="AlwaysInline"
ShowReportBody="False"
ShowPrintButton="false"
OnSubmittingParameterValues="rv_SubmittingParameterValues"/>
然后在rv_SubmittingParameterValues方法:
this.rv.ShowReportBody = true;
我我的参数选择之一的默认值设置为-1值不存在(不是有效的参数值)。这并没有产生错误。它只需将参数下拉框设置为并阻止报告运行。我无法使用NULL的默认值,因为NULL选择了所有内容,并且我希望用户在报表运行之前有目的地选择ALL(NULL)。如果选择ALL,则报告需要几分钟的时间。
在使用具有可选字段的报表时,我发现了一个很好的技巧,但是如果可选字段为空,则会提取大量数据。
第1步:防止自动射击
- 确保“允许空值”未启用的可选参数
- 确保没有为可选参数没有默认值
步骤2:使参数可选,而不使用“空”
- 启用“允许空白值”f或可选参数
- 修改您的where子句中的可选参数
WHERE (@param="" OR column = @param)
使用这种方法存在的额外的字段为最终用户担心,该报告将不火,直到它被请求时,如果文本框留空,则where子句中的条件将不会被评估。
注:如果报告指定可用值,则认为是无效的表结构可以用来代替“”任何值,也可以与其他数据类型(非字符串)这样使用
这很好,你在文本中解释它,因为没有任何指向下面提供的屏幕截图的链接工作了。 – Bratch 2010-01-07 16:29:44