В моем отчете SSRS у меня есть две таблицы: Losses (Table2) и Earned Premiums (Table 1), обе взяты из разных наборов данных. Мне нужно рассчитать коэффициенты на основе этих убытков и заработанных премий за каждый месяц и год. Для этого я использовал функцию ПРОСМОТР, и она отлично работает:
SUM(Fields!PaidLosses.Value) / Lookup(Fields!AccidentYearNum.Value & Fields!AccidentMonthNum.Value, Fields!YearStartRisk.Value & Fields!MonthStartRisk.Value, Fields!EarnedPremium.Value, "EarnedAllCoverages")
Но теперь мне нужно вычислить TOTALS
. Это общие потери за каждый месяц и год, разделенные на общую заработанную премию за каждый месяц и год. На основе этой статьи
https://i.stack.imgur.com/kLpDJ.png
Я вставил этот пользовательский код:
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
И теперь я использую это выражение:
=SUM(Fields!PaidLosses.Value) / Code.SumLookup(LookupSet(Fields!AccidentYearNum.Value & Fields!AccidentMonthNum.Value, Fields!YearStartRisk.Value & Fields!MonthStartRisk.Value, Fields!EarnedPremium.Value, "EarnedAllCoverages"))
Но это не дает мне правильного ответа по какой-то причине. Что мне здесь не хватает?
=SUM(Fields!PaidLosses.Value) / Code.SumLookup(LookupSet(Fields!AccidentYearNum.Value, Fields!YearStartRisk.Value, Fields!EarnedPremium.Value, "EarnedAllCoverages"))
- person R. Richards   schedule 11.07.2016