Reporting services MTD在单柱上的表达——SSRS

Reporting services MTD在单柱上的表达——SSRS,reporting-services,Reporting Services,我需要一些帮助。 我无法为SSRS上的单个列创建“Month to Date”表达式 我从论坛上的一个类似问题中测试了下面的表达式,但它在变量“d”下面给出了一条曲线 =IIF(Fields!CreateDate.Value >= DateAdd(d,-7,Today()), Sum(Fields!Sales.Value), 0) 如果我运行它,当然会出现一个错误,告诉我没有声明“d”。) 我把它改成。。。DateAdd(“d”,-7,Today()),总和(字段!Sales.Value

我需要一些帮助。 我无法为SSRS上的单个列创建“Month to Date”表达式

我从论坛上的一个类似问题中测试了下面的表达式,但它在变量“d”下面给出了一条曲线

=IIF(Fields!CreateDate.Value >= DateAdd(d,-7,Today()), Sum(Fields!Sales.Value), 0)
如果我运行它,当然会出现一个错误,告诉我没有声明“d”。)

我把它改成。。。DateAdd(“d”,-7,Today()),总和(字段!Sales.Value)。。。按照这个例子,曲线在“today()”的括号下面,不用说……但仍然不起作用

我尝试了Dateadd(mm..Datediff…,但仍然没有结果

我的报告有以下几列:

Country | CustomerName | Sales | InvNotProcessed | Open Order | Orders | TotalbyCust 
我需要的是只在名为“sales”的列中显示新的MTD sales,而其他三个列显示查询的其余部分,这应该是打开的,因为一些订单可能需要很长时间才能制造和开具发票。最后一列汇总了所有其他列的总数

任何帮助都将不胜感激

问候,,
Eric

您需要在SSRS表达式中使用
DateInterval
。此外,您的表达式只计算上周的值,而不计算月至今的值。请尝试对自月初以来的任何值求和:

=SUM(IIF(Fields!CreateDate.Value >= DateAdd(DateInterval.Day, 1 - DatePart(DateInterval.Day, Today), Today), Fields!Sales.Value, 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, 
(Documents.Status='Posted'和Documents.DocType='CINV'和
(
DATEDIFF(月,Documents.CreateDate,GETDATE())=0和

Documents.CreateDate警告1[rsAggregateOfNonNumericData]textrun“Sales.段落[0]”的值表达式在非数字数据上使用数字聚合函数。数字聚合函数(Sum、Avg、StDev、Var、StDevP和VarP)只能聚合数值数据。感谢您的及时回复,但它不起作用。我收到以下警告:“警告1[rsAggregateOfNonNumericData]textrun销售的值表达式。段落[0]。TextRuns[0]”对非数值的数据使用数值聚合函数。数值聚合函数(Sum、Avg、StDev、Var、StDevP和VarP)只能聚合数字数据。“在应该有Sum的单元格中显示“#Error”。我尝试了一些更改,但得到了相同的结果。你知道吗?