长时间阅读器。本网站上的大量信息。表达总计在SSRS 2008中不显示正确的数据
希望这不是一个愚蠢的问题,但我一直在努力如何在我的报告中得到正确的总数。
我遇到了简单的总计问题。我有一份报告,它将两个数字的差异显示出来,结果既是负面的,也是积极的。在报告的底部,我想要一个总和的差异。由于某种原因,总数甚至不是很接近。
这里是我的数据:
Correct Data
Specialist Total Sales Budget Difference
DICK "$35,174.00" "$63,530.00" "($28,356.00)"
NATHAN "$16,193.00" "$40,000.00" "($23,807.00)"
PAUL "$52,096.00" "$55,000.00" "($2,904.00)"
STEVE "$31,185.44" "$66,700.00" "($35,514.56)"
**Totals: "$134,648.44" "$225,230.00" "($90,581.56)"**
Incorrect Data that is in my report
Specialist Total Sales Budget Difference
DICK "$35,174.00" "$63,530.00" "($28,356.00)"
NATHAN "$16,193.00" "$40,000.00" "($23,807.00)"
PAUL "$52,096.00" "$55,000.00" "($2,904.00)"
STEVE "$31,185.44" "$66,700.00" "($35,514.56)"
**TOTALS: "$134,648.44" "$225,230.00" "$71,118.44"**
正如你所看到的,数据显示总型差分为$ 71,118.44当它应该是(90,581.56 $)。
这里是我的表达,以获得差异的结果:
=Sum(Fields!TotalSales.Value)-Fields!Budget.Value
我右键点击文本框,选择“添加总计”获得总计为差异场。我也试过这个建议:
=Sum(Fields!TotalSales.Value)-Sum(Fields!Budget.Value)
这:
=ReportItems!textbox14.Value - ReportItems!textbox15.Value
另一件事一提的是有上进行分组专家。总销售额字段是该特定月份的销售总额。预算字段是该组之外的单个字段。
这似乎是一个没有道理,它应该工作。也许有人可以给我一些指导。
在此先感谢。
编辑:
感谢您的帮助,但不幸的是这个问题是比较复杂的比:)我本来应该上更加清晰。我从3-4个数据库提取数据,他们没有共同的字段链接。我使用行号来减少重复的小计,并将它们设置为0.我在预算编号上使用了一个rownumber,但我收回的数据是假的。这里的数据我:
Name Team SubTotal Budget
SCOTT Vikings 202 25000.00
SCOTT Vikings 1890 25000.00
SCOTT Vikings 5167 25000.00
SCOTT Vikings 20256 25000.00
SCOTT Vikings 0 25000.00
SCOTT Vikings 0 25000.00
这里是我想拥有的数据:
Name Team SubTotal Budget
SCOTT Vikings 202 25000.00
SCOTT Vikings 1890 0.00
SCOTT Vikings 5167 0.00
SCOTT Vikings 20256 0.00
SCOTT Vikings 0 0.00
SCOTT Vikings 0 0.00
如果预算数重复不止一次,我希望它是0。我认为这是因为我的总数在SSRS中显示不正确。我正在计算“差异”字段,方法是拿出推销员小计的GrandTotal,并将其从投入组页脚的预算字段中扣除(因为我是新的,我无法发布图片,对不起,以下是超链接)
http://i55.tinypic.com/124jw2u.png
这里是我的SQL语句也:
WITH InvoicedAndPaid
AS
(
SELECT KEY1
,ltrim(rtrim(CustomText01)) as CustomText01
,ROW_NUMBER() OVER(PARTITION BY DocNo ORDER BY DocNo) AS RowNumber
,SubTotal
,OrderDate
,INVOICEDATE
FROM DocumentHeadersItems AS AA
JOIN SorArCombined AS BB
ON AA.DocNo = ('AA' + BB.CustomerPoNumber)
JOIN CONTACT1 AS CC
ON AA.SoldToCMAccountNo = CC.ACCOUNTNO
WHERE CreatedBy != 'NOAHDM'
AND KEY1 IN (@org)
AND SubTotal != 0
AND LEN(INVOICE) > 0
AND
(
(
CUSTOMER = 'QAA'
AND (INVOICEDATE IS NOT NULL)
AND (DATEPART(MM,INVOICEDATE) = DATEPART(MM,@start))
AND (DATEPART(YYYY,INVOICEDATE) = DATEPART(YYYY,@end))
)
OR
(
CUSTOMER != 'QAA'
AND (YearInvBalZero > 0)
AND (YearInvBalZero = DATEPART(YYYY,@start))
AND (MonthInvBalZero = DATEPART(MM,@start))
AND (YearInvBalZero = DATEPART(YYYY,@end))
AND (MonthInvBalZero = DATEPART(MM,@end))
)
)
)
SELECT bb.team_id
,bb.specialist_id
,dd.Budget
,cc.team_name
,KEY1
,CustomText01
,CASE WHEN RowNumber = 1 THEN SubTotal ELSE 0 END as SubTotal
FROM InvoicedAndPaid as aa
join SalesReporting.dbo.team_members as bb
on rtrim(aa.CustomText01) = rtrim(bb.specialist_name)
join SalesReporting.dbo.team_master as cc
on bb.team_id = cc.team_id
join SalesReporting.dbo.sales_goals as dd
on bb.specialist_id = dd.specialist_id
WHERE dd.time_span LIKE 'M%'
AND dd.month = DATENAME(MONTH,@end)
AND dd.Org = aa.KEY1
AND cc.team_name in (@team)
AND dd.period_no = DATEPART(MM,@end)
ORDER BY team_name, CustomText01
这是否帮助了一点?我试图避免做一个存储过程,因为我在SSRS和SQL Server上相当新颖。