为什么SSRS中的查找功能失败

时间:2014-06-02 19:29:26

标签: sql reporting-services ssrs-2008

我的数据库中有两个表,如下所示:

SELECT TOP 12 [Date], [Amount]
FROM [Db].[dbo].[final]
UNION
SELECT MAX([F1]) 'Date', SUM([F2]) 'Amount' FROM (
  SELECT TOP 5 [F1], [F2]
  FROM [Db].[dbo].[origtable]
  WHERE [F1] IS NOT NULL
  ORDER BY [F1] DESC
) c

SELECT TOP 12 [date_period2] AS [Date], [trnchargeamt] AS [Amount]
FROM [Db].[dbo].[othertable]
ORDER BY [date_period2] DESC

显示以下内容(第一个查询是顶部,第二个查询是底部):

Date                     Amount
2013-07-31 00:00:00.000  9658254
2013-08-31 00:00:00.000  6659659
2013-09-30 00:00:00.000  14256326
2013-10-31 00:00:00.000  8912215
2013-11-30 00:00:00.000  9326659
2013-12-31 00:00:00.000  10211985
2014-01-31 00:00:00.000  8652365
2014-02-28 00:00:00.000  16256326
2014-03-31 00:00:00.000  24454342
2014-04-30 00:00:00.000  16345908
2014-05-30 00:00:00.000  6976515.77
2014-05-30 00:00:00.000  23578640

Date    Amount
201406  42492.78
201405  1846703.374
201405  44390961.65
201404  45413273.91
201403  46943807.39
201402  33744223.24
201401  41630266.94
201312  40672523.92
201311  42465408.47
201310  47878730.59
201309  39444986.25
201308  40554376.28

在我的SSRS中,我喜欢以下显示图表的方式:

report layout

我使用以下查找功能显示第一个表和第二个表:

=Lookup(Fields!Date.Value,Fields!Date.Value, Fields!Amount.Value, "WMGDailyPaymentsRed")

我收到以下警告,第二张图表没有显示任何内容:

  

[rsRuntimeErrorInExpression]图表'Chart8'的Y表达式包含错误:
  类型的异常' Microsoft.ReportingServices.ReportProcessing.ReportProcessingException_ComparisonError'被扔了。

1 个答案:

答案 0 :(得分:3)

从select语句的结果可以看出,第一个SQL ..有一个实际的Date,第二个sql的日期只有年和月..因此比较两者都行不通。您需要修改第一个查询以将日期格式化为YYYYMM格式,然后它将在查找中起作用。