如何为级联参数报告设置默认参数?

时间:2011-06-21 16:31:34

标签: parameters ssrs-2008 default

我正在尝试构建2008 SSRS报告,以便根据开始和结束日期参数显示表。但是当我设置这些日期参数的默认值时,无论我选择了哪些参数,它都会在我的表中显示相同的记录,因为它们是默认的。那么我尝试设置默认值=可用值,但这也是一样的。那么如何创建级联参数以便表格根据日期逻辑正确过滤?

我有三个参数:“Parameter_Week”,“Start_Date”和“End Date”。所有这些都来自相同的数据集,其中参数周的字符串格式为“6/12/11 - 6/18/11”,开始日期为“6/12/11”,结束日期为“6/18/11” ”。来自同一数据集的记录有4个,总是等于过去4周。

表数据集只接受后两个参数:开始和结束日期。所以我希望这个表根据这些日期过滤记录。但是,如果我将这两个参数的默认值设置为“无”,则会收到以下错误。

“开始日期”参数缺少值。

(并且开始和结束日期参数是隐藏的,因为只有“参数周”参数应该可见。)

总而言之,我已尝试过为每个组合设置这两个日期参数的默认值。如果我设置默认值=无,那么我收到上面的错误消息。但是如果我将默认设置为其他任何东西,那么它总是在表中返回相同的记录,因为它们是默认的。

1 个答案:

答案 0 :(得分:0)

这就是我的所作所为:

  1. 创建数据集以确定周列表

  2. 创建一个参数(@DateString),从新数据集中设置它的可用值,将标签和值字段设置为DateString字段(从一系列连接日期创建(即6/12/11 - 6) / 18/11))。

  3. 创建第二个数据集,除了添加参数过滤器

    之外几乎与第一个数据集相同
     WHERE DateString = @DateString
    
  4. 创建2个参数@ Date1和@ Date2。将可见性设置为隐藏。从查询中获取值并将数据集设置为第二个数据集,将值字段设置为date1。转到“高级”并选择“始终刷新”。 (为@ Date2执行此操作将值字段更改为date2)

  5. 使用日期参数为表创建数据集:

     SELECT * FROM Events WHERE Date BETWEEN @Date1 and @Date2
    
  6. 使用此数据集中的值

  7. 创建一个表
  8. 运行报表并将参数更改为不同的日期,表格会随参数更改而更新。