SSRS - 如何在日期范围参数中使用字符串值

时间:2017-03-15 21:23:04

标签: reporting-services parameters ssrs-2012

我对以下问题遇到了一些麻烦,我希望有一个简单的解决方案,我只是不考虑。

我有一张看起来像这样的表:

Person    Action_Taken  Year_Taken  Month_Taken Week_Taken  Composite_Date
John Doe      1            2017        1              3       Mar-17
Jane Doe      1            2017        2              6       Jun-17

我试图编写一个报告,让用户选择Start Composite_Date和End Composite_Date,但将Year和Month作为隐藏参数传递。我能够成功地将Composite_Date填充为报表本身的可用值列表,并将值传递给隐藏参数以便报表运行,但我认为因为它是一个字符串,它不是&#39 ; t按年份和月份正确过滤(返回的数据只是集合中可用的所有数据)。

我已通过MSDN文档并在互联网上搜索,但无法找到解决我的具体问题的解决方案。如果不可能,那么我只使用年份和月份参数并使其可见。我只是希望看看是否可以使用Composite_Date。有任何想法吗?谢谢!

1 个答案:

答案 0 :(得分:1)

正如您所提到的,问题是复合日期是一个字符串,并按字母顺序进行比较。我建议在数据集中添加一个计算字段,将其转换为日期。在参数属性中,您可以将现有字符串用作Label,但将新计算的日期用作Value

然后在查询中,您需要具有类似的逻辑来比较记录的日期与您选择的范围。表达式取决于您正在使用的SQL的风格。