我的数据库中有两个表,如下所示:
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中,我喜欢以下显示图表的方式:
我使用以下查找功能显示第一个表和第二个表:
=Lookup(Fields!Date.Value,Fields!Date.Value, Fields!Amount.Value, "WMGDailyPaymentsRed")
我收到以下警告,第二张图表没有显示任何内容:
[rsRuntimeErrorInExpression]图表'Chart8'的Y表达式包含错误:
类型的异常' Microsoft.ReportingServices.ReportProcessing.ReportProcessingException_ComparisonError'被扔了。
答案 0 :(得分:3)
从select语句的结果可以看出,第一个SQL ..有一个实际的Date,第二个sql的日期只有年和月..因此比较两者都行不通。您需要修改第一个查询以将日期格式化为YYYYMM格式,然后它将在查找中起作用。