【问题标题】:Return dates that are within 1,3,6,12 months from todays date SSRS/Expression从今天起 1、3、6、12 个月内的退货日期 SSRS/Expression
【发布时间】:2015-05-28 10:12:49
【问题描述】:

我有一个包含以下列的表格:
销售 |姓名 | Est.close 日期

我可以在一张桌子上显示所有日期,
我已经创建了 4 个表,估计下个月的结束日期、3、6、12 个月,我想要做的是显示今天的 1、3、6 和 12 个月内的日期。

我试过了;

=DateAdd(DateInterval.Month, 6, Parameters!estimateclosedate.Value)

=DateAdd(DateInterval.Day, -1 * DatePart(DateInterval.WeekDay,Today()) + 6, Today())

任何帮助,将不胜感激。谢谢

更新:
我有 2 个 Today() 日期和 Fields!estimatedclosedate.Value。 我要做的是返回从今天起 1、3、6 和 12 个月内的估计关闭日期。

更新 2: 我试过了

=Fields!estimatedclosedate.Value <> DATEADD(DateInterval.Month,1,Today())

但是,这会变成一个布尔值,TRUE。

【问题讨论】:

  • 提供样本数据和预期结果
  • 嗨@Pravin Deshmukh,我提供了足够的信息吗?
  • 改为在 sql 查询中执行此操作?
  • 怎么样,可以举个例子吗?
  • 首先告诉我们,您想同时获得 1、3、6、12 个月的结果还是需要用户输入?

标签: sql-server date reporting-services ssrs-2008-r2 reportbuilder3.0


【解决方案1】:

如果您想在不同的 tablix 中显示数据,您应该在每个 tablix 上设置过滤器。

例如:

Value 中为每个过滤器设置这样的表达式:

=dateadd(DateInterval.Month, 1, DateTime.Today)

=dateadd(DateInterval.Month, 3, DateTime.Today)

=dateadd(DateInterval.Month, 6, DateTime.Today)

=dateadd(DateInterval.Month, 12, DateTime.Today)

编辑(在 cmets 之后)

尝试在exression 字段中使用此表达式:

=CDate(Fields!estimatedclosedate.Value)

解决DateTimeString时的日期格式问题。

【讨论】:

  • 谢谢,Expression = [estimatedclosedate] 默认为文本而不是日期/时间,你能帮我解决这个问题吗?
  • 尝试对dateadd表达式使用转换函数CStr。或者您可以将CDate 函数用于Fields!estimatedclosedate.Value
  • 谢谢,但我仍然一无所获,它显示“没有机会数据”
  • 你使用什么功能? CStrCDate?
  • 您需要检查您的Fields!estimatedclosedate.Value 是否转换为正确的日期。从字符串到日期时间的转换总是可以隐藏隐含的错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-28
  • 2021-02-04
  • 2017-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多