我对以下问题遇到了一些麻烦,我希望有一个简单的解决方案,我只是不考虑。
我有一张看起来像这样的表:
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。有任何想法吗?谢谢!
答案 0 :(得分:1)
正如您所提到的,问题是复合日期是一个字符串,并按字母顺序进行比较。我建议在数据集中添加一个计算字段,将其转换为日期。在参数属性中,您可以将现有字符串用作Label
,但将新计算的日期用作Value
。
然后在查询中,您需要具有类似的逻辑来比较记录的日期与您选择的范围。表达式取决于您正在使用的SQL的风格。