2017-04-25 74 views
0

我正在尝试更新ssrs报告生成器工具中的参数值。说如果我想更新参数“datetime”的值,并从下拉列表中选择一个值,我得到一个下拉式而不是文本框。当我更改另一个参数的值时如何更新日期时间的值?使用另一个更新ssrs中的一个报告参数

enter image description here

在上面的图像的时间内,如果改变,则该值应反映

“启动”时间字段,但它不会。同样的作品,如果我这样做dropdopwn即startdate字段,如果我更改时间范围内的值,它会在startdate中更改,但不会在开始日期时间字段中更改。

感谢

+0

你把params之前引用的人吗? – Snowlockk

+1

[更新ssrs中的报告参数值]的可能重复(http://stackoverflow.com/questions/43604757/update-a-value-of-report-parameter-in-ssrs) –

+0

DateTime类型参数不会刷新/更新像你期望的一样;至少在开发工具或报表管理器中不是实时的。但是,当您在报告订阅中使用时,您将尝试*将*工作。 –

回答

0

针对您要设置这样的参数,你需要设置一个默认值。 ParameterProperties 选择“指定值”并进入表达式生成器。

你的表情会是这样的..

=switch(Parameters!First.Value = 1, dateadd(DateInterval.Day, -1, today(), Parameters!First.Value = 2, Today(), 1=1, Today()) 

这看起来对于所谓的“第一”的参数值(这将是你的下拉所谓的“时间表”),并更新当前的值基于此的参数。

1=1部分原因很简单,因为我喜欢在交换机中使用假“else”(将其视为case语句)。

但是,有级联参数的错误。首次运行时,默认值将被更新。如果您然后更改“TimeFrame”中的值,则datetime字段中的相应值不会更新。

在这里看到更多的信息:

https://connect.microsoft.com/SQLServer/feedback/details/268032/default-does-not-get-refreshed-for-cascading-parameters

+0

对于下拉菜单,这工作正常。但是,在上述图片中,如果删除startdate下拉列表并单独保留时间范围并更改时间范围下拉列表中的任何值,则不会在开始日期时间字段中刷新或更改值。我不明白为什么默认值不会刷新。 – naveend915

+0

@ naveend915你有什么在“开始”参数的默认值设置? – BishNaboB

+0

我有我的默认“开始”参数 = IIF(Parameters!Timeframe.Value =“Daily”,DateAdd(“d”,-1,Today()),Today()) 我试着用switch好,但它没有工作。两者仅适用于第一次执行,稍后当我们更改时间范围内的值dropdown时,日期选取器字段未刷新。 – naveend915