【发布时间】:2014-12-20 13:50:18
【问题描述】:
所以我在 SSRS 中 startDate 和 endDate 的默认值是使用以下 ssrs 表达式设置的。
上个月的第一天 ssrs 表达式
=DateAdd(DateInterval.Month, -1, DateSerial(Year(Date.Now), Month(Date.Now), 1))
上个月的最后一天 ssrs 表达式
=DateAdd(DateInterval.Day, -1, DateSerial(Year(Date.Now), Month(Date.Now), 1))
但这对我来说是行不通的,除非我想在每个月的 16 日进入并为当月前 15 天提出请求的人生成此报告。
所以在我的开始日期的默认值表达式中,我正在尝试这个 iif 语句...
= iif(
DatePart(DateInterval.Day, Today() <> "20",
DateInterval.Month, -1, DateSerial(Year(Date.Now), Month(Date.Now), 1),
DateInterval.Month, 1, DateSerial(Year(Date.Now), Month(Date.Now), 1)
)
效果不太好。所以我想做的是.....
根据当月的哪一天更改默认的开始和结束日期,所以如果当月的当日等于16,则将当月的开始日期设为1,将当月的结束日期设为15,如果是当天这个月的不是 16 使开始日期为上个月的第一天,结束日期为上个月的最后一天。因此,唯一需要做的就是获取订阅电子邮件以及发送它们的日期。
【问题讨论】:
-
正确!每月 16 日我希望默认值是从当月 1 日到当月 15 日,其他日期是上个月的第一天和最后一天。
-
为什么对两个订阅使用相同的 iif() 表达式?为什么不在第一次订阅时使用上个月表达式,而在第二次订阅时使用当前月份表达式?
-
你不能在 sharepoint 中这样做,它使用的似乎是使用 ssrs 表单的默认值,所以我需要这些默认值根据当前月份的哪一天而有所不同。订阅此报告的共享点仅允许您选择报告默认值,或者您需要在订阅中自己设置它们。所以我需要这些默认的开始和结束日期值根据当月的当前日期(int 值)进行更改
-
上面的 iif 语句是我尝试在 ssrs 报告中设置开始日期的默认值
-
所以你可以在订阅中设置参数值,但是你不能使用任何一种表达式来使其动态化?
标签: date reporting-services expression