Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reporting services @DateFrom的当月第1天边界值的滚动报告参数_Reporting Services - Fatal编程技术网

Reporting services @DateFrom的当月第1天边界值的滚动报告参数

Reporting services @DateFrom的当月第1天边界值的滚动报告参数,reporting-services,Reporting Services,我对运行每日报告的@datefrom参数的边界值有一个问题 这是我已经做了多少,但是返回了一个错误 DateFrom =IIF(DatePart(“d”,1,0,0),(DateAdd(“m”),1,DateSerial(年(现在),月(现在),1)),(DateSerial(年(现在),月(现在),1))) 错误消息 参数“DateValue”无法转换为类型“Date” 该表达式旨在允许边界日期从一个月的最后一天更改为下一个月的第一天 任何帮助都将不胜感激。 提前感谢。假设您只想在表达式中返回

我对运行每日报告的@datefrom参数的边界值有一个问题

这是我已经做了多少,但是返回了一个错误

DateFrom

=IIF(DatePart(“d”,1,0,0),(DateAdd(“m”),1,DateSerial(年(现在),月(现在),1)),(DateSerial(年(现在),月(现在),1)))

错误消息

参数“DateValue”无法转换为类型“Date”

该表达式旨在允许边界日期从一个月的最后一天更改为下一个月的第一天

任何帮助都将不胜感激。
提前感谢。

假设您只想在表达式中返回一个日期,您可以使用:

=IIf(DatePart("d", Today, 0, 0) = 1
    , DateAdd("m", -1,  Today)
    , DateSerial(Year(Today), Month(Today), 1))
对于今天(即2014年7月2日),它将返回日期2014年7月1日,但在昨天运行它(即2014年7月1日),您将得到2014年6月1日

您现有的表达式似乎存在一些语法问题-您需要将
DatePart
表达式的结果与
IIf
表达式的第一个子句中的实际整数进行比较;它在第一个子句中需要一个布尔值

此外,由于您仅使用
DatePart
获取日期,因此可以使用较少的参数:

=IIf(DatePart("d", Today) = 1
    , DateAdd("m", -1,  Today)
    , DateSerial(Year(Today), Month(Today), 1))

因此,给定一些日期,例如,
2014年6月30日
2014年7月1日
2014年7月2日
,您希望从表达式中得到什么值?6月30日将返回1-29日,7月1日将返回1-30日,2日仅返回1-1日。您正在寻找一个返回的日期吗?如果是,是否还需要
DateTo
参数/表达式?或者您是在根据您的评论专门寻找一个组合两个日期的字符串?我发现简单表达式“DateAdd(“d”,-1,Today)”返回正确的值。这只是我与之有争议的日期。表达式“DateSerial(Year(Now)、Month(Now)、1)”可以工作,但当月份从30号更改为1号时,它失败了。在30号,它返回了1-29号,1号什么也没有返回。这太棒了,伊恩。再次感谢你的帮助。