我需要一些帮助。 我无法在SSRS上为单个列创建“月到日”表达式。
我在论坛中测试了类似问题中的以下表达式,但它在变量“d”下方给出了一条曲折的线条
=IIF(Fields!CreateDate.Value >= DateAdd(d,-7,Today()), Sum(Fields!Sales.Value), 0)
如果我运行它,当然我得到一个错误告诉我'd'没有声明。 ;)
我将其更改为... DateAdd(“d”, - 7,Today()),Sum(Fields!Sales.Value)...按照示例进行操作,并且波浪线在“today()”的括号下方“不用说......但仍然无法正常工作。
我试过一个Dateadd(mm..Datediff ......但仍然没有。
我的报告包含以下列:
Country | CustomerName | Sales | InvNotProcessed | Open Order | Orders | TotalbyCust
我需要的是仅在名为“Sales”的列中显示新的MTD销售,而其他三个显示查询的其余部分,应该打开,因为某些订单可能需要很长时间才能生产和开具发票。最后一列汇总了所有其他列的总数。
非常感谢任何帮助。
此致 埃里克
答案 0 :(得分:1)
您需要在SSRS表达式中使用DateInterval
。此外,您的表达式仅计算上周,而不是月初至今。尝试总结自本月第一天起的任何事情的销售价值:
=SUM(IIF(Fields!CreateDate.Value >= DateAdd(DateInterval.Day, 1 - DatePart(DateInterval.Day, Today), Today), Fields!Sales.Value, 0))
答案 1 :(得分:0)
谢谢大家
我解决了这个问题,但我采用了不同的方法。 我在我的查询中将MTD表达式添加到Sales列,如下所示:
(CASE WHEN Documents.Status = 'Posted' AND Documents.DocType = 'CINV' AND
(
DATEDIFF(MONTH,Documents.CreateDate,GETDATE()) = 0 AND
Documents.CreateDate <= GETDATE())THEN DocumentsLines.TransSell END
) AS Sales,
然后我在报告服务的单元格上使用了SUM(Fields!Sales.Values)。
此致
埃里克