Un lecteur de longue date. Une grande richesse d'informations sur ce site.Expression totale n'affichant pas les données correctes dans SSRS 2008
J'espère que ce n'est pas une question stupide, mais j'ai eu du mal à obtenir les totaux corrects dans mon rapport.
Je rencontre des problèmes avec des totaux simples. J'ai un rapport qui prend la différence de deux nombres et montre le résultat, avec les résultats étant négatifs et positifs. Au bas du rapport, je veux une somme totale de la différence. Les totaux ne sont même pas proches pour une raison quelconque.
Voilà mes données:
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"**
Comme vous pouvez le voir, les données montrent la differece totale 71,118.44 $ quand il devrait être (90,581.56 $).
Voici mon expression pour obtenir le résultat de la différence:
=Sum(Fields!TotalSales.Value)-Fields!Budget.Value
je raison cliqué sur le champ de texte et sélectionné « Ajouter Total » pour obtenir un grand total pour le champ de différence. J'ai aussi essayé cette suggestion:
=Sum(Fields!TotalSales.Value)-Sum(Fields!Budget.Value)
Et ceci:
=ReportItems!textbox14.Value - ReportItems!textbox15.Value
Une autre chose à mentionner est il est Regrouper sur le spécialiste. Le champ Total des ventes est un total du groupe pour leurs ventes pour ce mois particulier. Le champ Budget est un champ unique en dehors du groupe.
Cela semble être une évidence que cela devrait fonctionner. Peut-être que quelqu'un peut me donner des conseils à ce sujet.
Merci d'avance.
EDIT:
Merci pour l'aide, mais malheureusement, le problème est plus compliqué que ça :) Je aurais dû être plus clair. Je tire des données de 3 à 4 bases de données et elles n'ont pas de champ commun à lier. Qu'est-ce que j'utilise un numéro de ligne pour réduire les sous-totaux en double et les mettre à 0. J'utilise un numéro de référence sur le numéro de budget, mais les données que je recevais était faux. Voici les données que j'ai:
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
Et voici les données que je veux avoir:
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
Si le numéro budgétaire répète plus d'une fois, je veux que ce soit 0. Je pense que c'est le raison pour laquelle mes totaux ne s'affichent pas correctement dans SSRS. Je calcule le champ Différence en prenant le total général des sous-totaux du vendeur et en les soustrayant du champ Budget qui a été placé dans le pied de groupe (puisque je suis nouveau, je ne peux pas poster d'images, désolé, voici l'hyperlien)
http://i55.tinypic.com/124jw2u.png
Voici mon instruction SQL aussi:
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
cette aide un peu? J'essaye d'éviter de faire une procédure stockée parce que je suis assez nouveau chez SSRS et SQL Server.