In meinem SSRS-Bericht habe ich zwei Tabellen: Verluste (Tabelle2) und verdiente Prämien (Tabelle 1), die beide aus verschiedenen Datensätzen stammen. Ich muss die Quoten basierend auf diesen Verlusten und verdienten Prämien für jeden Monat und jedes Jahr berechnen. Dafür verwendete ich LOOKUP Funktion und es funktioniert gut:Wie man SUM zusammen mit der Funktion LOOKUP verwendet
SUM(Fields!PaidLosses.Value)/Lookup(Fields!AccidentYearNum.Value & Fields!AccidentMonthNum.Value, Fields!YearStartRisk.Value & Fields!MonthStartRisk.Value, Fields!EarnedPremium.Value, "EarnedAllCoverages")
Aber jetzt brauche ich TOTALS
zu berechnen. Welches sind die Gesamtverluste für jeden Monat und jedes Jahr, geteilt durch die verdiente Gesamtprämie für jeden Monat und jedes Jahr. zu diesem Artikel Basierend
http://www.sqlservercentral.com/blogs/salvoz-sql/2013/05/27/sum-result-of-ssrs-lookupset-function/
ich diesen Custome-Code inserteded:
Function SumLookup(ByVal items As Object()) As Decimal
If items Is Nothing Then
Return Nothing
End If
Dim suma As Decimal = New Decimal()
Dim ct as Integer = New Integer()
suma = 0
ct = 0
For Each item As Object In items
suma += Convert.ToDecimal(item)
ct += 1
Next
If (ct = 0) Then return 0 else return suma
End Function
Und jetzt habe ich diesen Ausdruck verwenden:
=SUM(Fields!PaidLosses.Value)/Code.SumLookup(LookupSet(Fields!AccidentYearNum.Value & Fields!AccidentMonthNum.Value, Fields!YearStartRisk.Value & Fields!MonthStartRisk.Value, Fields!EarnedPremium.Value, "EarnedAllCoverages"))
Aber das tut mir richtige Antwort für irgendein Grund. Was fehlt mir hier?
Der Ausdruck muss möglicherweise zu diesem ändern: '= SUMME (Felder! PaidLosses.Value)/Code.SumLookup (LookupSet (Felder! AccidentYearNum.Value, Felder! YearStartRisk.Value, Fields! EarnedPremium.Value," EarnedAllCoverages "))) ' –
OMG !!! Du hast gerade meinen Tag gemacht !!!! Vielen Dank!!! Du hast recht, Monate sind nicht mehr in einer Gruppe. Ich fühle mich jetzt so dumm :) – Oleg
Froh, dass es funktioniert hat! –