我正在尝试构建2008 SSRS报告,以便根据开始和结束日期参数显示表。但是当我设置这些日期参数的默认值时,无论我选择了哪些参数,它都会在我的表中显示相同的记录,因为它们是默认的。那么我尝试设置默认值=可用值,但这也是一样的。那么如何创建级联参数以便表格根据日期逻辑正确过滤?
我有三个参数:“Parameter_Week”,“Start_Date”和“End Date”。所有这些都来自相同的数据集,其中参数周的字符串格式为“6/12/11 - 6/18/11”,开始日期为“6/12/11”,结束日期为“6/18/11” ”。来自同一数据集的记录有4个,总是等于过去4周。
表数据集只接受后两个参数:开始和结束日期。所以我希望这个表根据这些日期过滤记录。但是,如果我将这两个参数的默认值设置为“无”,则会收到以下错误。
“开始日期”参数缺少值。
(并且开始和结束日期参数是隐藏的,因为只有“参数周”参数应该可见。)
总而言之,我已尝试过为每个组合设置这两个日期参数的默认值。如果我设置默认值=无,那么我收到上面的错误消息。但是如果我将默认设置为其他任何东西,那么它总是在表中返回相同的记录,因为它们是默认的。
答案 0 :(得分:0)
这就是我的所作所为:
创建数据集以确定周列表
创建一个参数(@DateString),从新数据集中设置它的可用值,将标签和值字段设置为DateString字段(从一系列连接日期创建(即6/12/11 - 6) / 18/11))。
创建第二个数据集,除了添加参数过滤器
之外几乎与第一个数据集相同 WHERE DateString = @DateString
创建2个参数@ Date1和@ Date2。将可见性设置为隐藏。从查询中获取值并将数据集设置为第二个数据集,将值字段设置为date1。转到“高级”并选择“始终刷新”。 (为@ Date2执行此操作将值字段更改为date2)
使用日期参数为表创建数据集:
SELECT * FROM Events WHERE Date BETWEEN @Date1 and @Date2
使用此数据集中的值
运行报表并将参数更改为不同的日期,表格会随参数更改而更新。