我创建了一个包含3列的视图:
例如(如果今天是2018-04-11 10:12:54.4770000):
等等。所以我的目标是为用户下拉列表显示所显示的标签,当他选择任何标签时,我想分配@start_date和@end_date参数以用于其他数据集。有什么建议我可以做什么?
答案 0 :(得分:1)
添加名为dsDropDown
的数据集,并将查询设置为
SELECT * FROM myView
在报告中添加参数myParameter
,并将可用值设置为dsDropDown
数据集。由于您没有密钥,因此您需要将值和标签属性都设置为label
字段。
接下来,添加您的主数据集并加入您的视图,按视图标签过滤,例如。
SELECT *
FROM myTable t
JOIN myView v on t.SomeDate >= v.start_date AND t.SomeDate <= v.end_date
WHERE v.label = @myParameter
确保数据集查询中的参数名称与参数名称完全匹配(它们区分大小写)。
接下来只需添加Tablix /矩阵/图表等,并将其指向主数据集。
我认为应该是它,但这不是我的头脑,所以它可能不是100%正确。希望你能够遵循。
OP响应后更新:
如果您需要这些参数,则需要添加两个新数据集dsStart
和dsEnd
。对这些数据集的查询如下:
SELECT start_date from myView WHERE label = @myParameter
和
SELECT end_date from myView WHERE label = @myParameter
然后添加两个新参数@start' and
@ end`并将默认值设置为相应的数据集。
当您选择第一个参数时,秒数2将自动更新。确认其工作后,您可以将@start和@end参数设置为隐藏。
然后将主数据集查询更改为类似..
SELECT *
FROM myTable t
WHERE t.Somedate between @start AND @end
答案 1 :(得分:0)
我会回答我自己的问题。 &#34; Alan Schofield&#34;版本有效,但我想用单个数据集来做。那么,我做了什么:
=Split(Parameters!date_selector.Value,"|||")(0)
,=Split(Parameters!date_selector.Value,"|||")(1)
相应那是