Reporting services SSRS返回的数据类型对于聚合函数无效

Reporting services SSRS返回的数据类型对于聚合函数无效,reporting-services,Reporting Services,执行查询时,我正在进行SSRS SELECT Brand.[KeyOffer], COALESCE(SUM([Key Offer].Revenue),0) as Revenue FROM [Brand Key Offer] Brand LEFT JOIN [Key Offer] ON Brand.Keyoffer = [Key Offer].[Key Offer] AND [Key Offer].[Date] = '7/05/2017' WHERE Brand.[Brand] = 'SMA

执行查询时,我正在进行SSRS

SELECT Brand.[KeyOffer],
   COALESCE(SUM([Key Offer].Revenue),0) as Revenue
FROM [Brand Key Offer] Brand
LEFT JOIN [Key Offer] ON Brand.Keyoffer = [Key Offer].[Key Offer] AND [Key Offer].[Date] = '7/05/2017'
WHERE Brand.[Brand] = 'SMART'
GROUP BY [Brand].[KeyOffer]
ORDER BY [Revenue] DESC
但是当我预览报告时,我得到了这个警告信息

Warning     [rsAggregateOfInvalidExpressionDataType] The Value expression for the textrun ‘Textbox21.Paragraphs[0].TextRuns[0]’ uses an aggregate function with an expression that returned a data type not valid for the aggregate function.       c:\users\t-aordiz\documents\visual studio 2015\Projects\TelemarketingRS\TelemarketingRS\Telemarketing Revenue.rdl   0   

我读过很多主题,但似乎找不到解决这个问题的方法。

似乎错误是由调用
SUM()
引起的,可能是因为您输入的是非数字类型。要测试这一点,您可以尝试将
[Key Offer].Revenue
转换为十进制:

SELECT
    Brand.[KeyOffer],
    COALESCE(SUM(CAST([Key Offer].Revenue AS DECIMAL(10, 2))),0) AS Revenue
FROM [Brand Key Offer] Brand
...

您可以在表达式中使用转换为如下所示的相应类型

= CDec(Fields!Revenue.value)
还可以尝试以下SQL替代方案

COALESCE(SUM([Key Offer].Revenue),0.00) 


(这与Tim建议的有点不同)

当我试图将输出的数据类型从datetime更改为varchar时,我也遇到了同样的情况


尝试删除文件YourReportFile.rdl.data并再次预览。它在VS2015中对我有效。

我不确定这是否与您的查询有关。您的查询是否在SSMS中运行?我认为这可能与textbox21中的某些内容有关。这个文本框有表达式吗?谢谢-删除*.rdl.data文件为我解决了这个问题。
CAST(COALESCE(SUM([Key Offer].Revenue),0) AS DECIMAL(10, 2))