Как использовать СУММ вместе с функцией ПРОСМОТР

В моем отчете 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"))

Но это не дает мне правильного ответа по какой-то причине. введите здесь описание изображения Что мне здесь не хватает?


person Serdia    schedule 11.07.2016    source источник
comment
Выражение может измениться на это: =SUM(Fields!PaidLosses.Value) / Code.SumLookup(LookupSet(Fields!AccidentYearNum.Value, Fields!YearStartRisk.Value, Fields!EarnedPremium.Value, "EarnedAllCoverages"))   -  person R. Richards    schedule 11.07.2016
comment
МОЙ БОГ!!! Вы просто сделали мой день!!!! Спасибо большое!!! Вы правы, месяцы больше не в группе. Я чувствую себя таким тупым сейчас :)   -  person Serdia    schedule 11.07.2016
comment
Рад, что у вас все заработало!   -  person R. Richards    schedule 11.07.2016


Ответы (1)


Ответ: Выражение суммы в 3-й матрице нуждается в корректировке.

=SUM(Fields!PaidLosses.Value) / Code.SumLookup(LookupSet(Fields!AccidentYearNum.Value, Fields!YearStartRisk.Value, Fields!EarnedPremium.Value, "EarnedAllCoverages"))

Сумма скатывается к году, поэтому месяцы больше не нужны.

person R. Richards    schedule 11.07.2016