SSRS - 如何在日期范围参数中使用字符串值
SSRS - how to use string value in date range parameter
我在回答以下问题时遇到了一些麻烦,我希望有一个我只是没有考虑过的简单解决方案。
我有一个 table 看起来像这样:
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
我正在尝试编写一份报告,让用户 select 开始 Composite_Date 和结束 Composite_Date,但将年份和月份作为隐藏参数传递。我能够成功地让 Composite_Date 填充为报告本身中的可用值列表,并将值传递给隐藏参数,以便报告运行,但我认为因为它是一个字符串,所以它不是' t 正确地按年和月过滤(返回的数据只是集合中所有可用的数据)。
我浏览了 MSDN 文档并在 Internet 上进行了搜索,但找不到解决我的特定问题的解决方案。如果不可能,那么我将只使用 Year 和 Month 参数并使它们可见。我只是希望看看是否可以使用 Composite_Date 代替。有任何想法吗?谢谢!
正如您提到的,问题是复合日期是一个字符串,并且正在按字母顺序进行比较。我建议在您的数据集中添加一个计算字段,将其转换为日期。在参数属性中,您可以使用现有字符串作为 Label
,但使用新计算的日期作为 Value
.
然后在查询中您需要有类似的逻辑来将记录的日期与您选择的范围进行比较。表达式将取决于您使用的 SQL 的风格。
我在回答以下问题时遇到了一些麻烦,我希望有一个我只是没有考虑过的简单解决方案。
我有一个 table 看起来像这样:
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
我正在尝试编写一份报告,让用户 select 开始 Composite_Date 和结束 Composite_Date,但将年份和月份作为隐藏参数传递。我能够成功地让 Composite_Date 填充为报告本身中的可用值列表,并将值传递给隐藏参数,以便报告运行,但我认为因为它是一个字符串,所以它不是' t 正确地按年和月过滤(返回的数据只是集合中所有可用的数据)。
我浏览了 MSDN 文档并在 Internet 上进行了搜索,但找不到解决我的特定问题的解决方案。如果不可能,那么我将只使用 Year 和 Month 参数并使它们可见。我只是希望看看是否可以使用 Composite_Date 代替。有任何想法吗?谢谢!
正如您提到的,问题是复合日期是一个字符串,并且正在按字母顺序进行比较。我建议在您的数据集中添加一个计算字段,将其转换为日期。在参数属性中,您可以使用现有字符串作为 Label
,但使用新计算的日期作为 Value
.
然后在查询中您需要有类似的逻辑来将记录的日期与您选择的范围进行比较。表达式将取决于您使用的 SQL 的风格。