Frage : msSQL Bericht

Hallo Experten, erzeuge ich einige Reports, in denen ich die percetages für verschiedene Werte berechne. Am Ende summiere ich alle percetages auf und es muss zu 100%.
The Sache aufkommen ist das, nehme ich die ungefähren Werte zu einigem auf und manchmal kommt die Summe von percetanges als 101 oder 102 Prozent auf. Ich wunderte mich, wenn es irgendeinen Befehl gibt, den, ich müssen kann den Wert dann 100.
I Mittel nicht sein lassen, wenn die Summe 101% ist, sage 100%

Any Hilfe oder Vorschlag wirklich appreciated.

Thanks im Voraus

/* Gesamtprozentsätze */
Set @TotalParticipantNr_BeginP = (Summe (@CVD12Nr_BeginP + @CVD34Nr_BeginP + @CVD56Nr_BeginP + @CVD78Nr_BeginP + @CVD910Nr_BeginP/*+ @IDONTKNOWNr_BeginP */+ @MissedNr_BeginP))
1:
2:
3:
4:
/* Gesamtprozentsätze *
@TotalParticipantNr_BeginP einstellen = (Summe (@CVD12Nr_BeginP + @CVD34Nr_BeginP + @CVD56Nr_BeginP + @CVD78Nr_BeginP + @CVD910Nr_BeginP + @IDONTKNOWNr_BeginP + @MissedNr_BeginP))

diese Summe erhalten manchmal 101%

Antwort : msSQL Bericht

@TotalParticipantNr_BeginP einstellen =
FALL WENN
(Summe (@CVD12Nr_BeginP + @CVD34Nr_BeginP + @CVD56Nr_BeginP + @CVD78Nr_BeginP + @CVD910Nr_BeginP + @IDONTKNOWNr_BeginP + @MissedNr_BeginP)) > 100 dann 100 sonst
@TotalParticipantNr_BeginP einstellen = (Summe (@CVD12Nr_BeginP + @CVD34Nr_BeginP + @CVD56Nr_BeginP + @CVD78Nr_BeginP + @CVD910Nr_BeginP + @IDONTKNOWNr_BeginP + @MissedNr_BeginP))
Ende


Die ist eine Abhilfe.
Das Problem ist dass, wenn Sie runde Sachen oben an jedem Punkt, Sie unvermeidlich eine Summe erhalten, die nicht der Gesamtmenge gleich ist.
Einfacher Kasten von zwei Bestandteilen, die oben mit 45.5 und 54.5 beenden.
Wenn Sie sie an einer abgerundeten Zahl zeigen, sind sie 46 und 55.  46+55 = 101.
Weitere Lösungen  
 
programming4us programming4us