我有两份和解报告,其中两份报告的TotalCost为785275.20应显示为相同。但是在Report2上,差异为650。
这是存储过程:
Create Table #TempTablex
(
CostPay money
);
INSERT INTO #TempTableX (CostPay)
SELECT
SUM(c.item1 + c.item2 + c.item3 + c.item4) AS TotalCost
FROM
Cost AS C
WHERE
((c.item1 + c.item2 >= 0))
AND NOT ((c.item3 + c.item4 < 0))
SET sql = 'SELECT ISNULL(SUM(Temp.CostPay), 0) AS CostPay
FROM #TempTableX Temp'
EXEC (@sql)
如何帮助我将两个报告显示为同一个GrossPay
?
答案 0 :(得分:0)
这可能是一个时间问题。
Run Report1 -> 785275.20
User increases item1 on row1 by 650
Run Report2 -> 7856275.20
您没有显示报告的运行方式。他们是一份工作的一部分吗?如果您正在寻找读取一致性,则需要在单个事务中运行两个报告并正确设置隔离级别。
根据您在网站上运行的SSRS报告的评论,我正在考虑实时更新源数据。要从两个报告中获取静态结果,您需要创建数据的快照。如何完成快照取决于报告的复杂程度。但是,如果它只是您给出的过程中的数据,我只是将过程结果插入表中,然后从表中而不是过程中运行每个报告。