2016-07-11 2 views
1

내 SSRS 보고서에는 두 가지 테이블이 있습니다. 손실 (테이블 2)과 획득 프리미엄 (테이블 1)이 서로 다른 데이터 세트에서옵니다. 나는 각 달 및 년을위한 그 손실 및 벌린 프리미엄에 근거를 둔 비율을 산출 할 필요가있다. 이를 위해 나는 LOOKUP 기능을 사용하고 잘 작동 :SUM을 LOOKUP 함수와 함께 사용하는 방법

SUM(Fields!PaidLosses.Value)/Lookup(Fields!AccidentYearNum.Value & Fields!AccidentMonthNum.Value, Fields!YearStartRisk.Value & Fields!MonthStartRisk.Value, Fields!EarnedPremium.Value, "EarnedAllCoverages") 

enter image description here

하지만 지금은 TOTALS을 계산해야합니다. 각 달 및 연도의 총 손실을 각 월 및 연도의 총 적립 프리미엄으로 나눈 값입니다. 나는이 손님 여러분 코드 inserteded

http://www.sqlservercentral.com/blogs/salvoz-sql/2013/05/27/sum-result-of-ssrs-lookupset-function/

이 문서를 바탕으로 :

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")) 

하지만 나던 것은 나에게 대한 올바른 대답을 몇몇 이유. enter image description here 여기에 무엇이 누락 되었습니까?

+0

식을 다음과 같이 변경해야 할 수 있습니다. '= SUM (Fields! PaidLosses.Value)/Code.SumLookup (LookupSet (Fields! AccuracyYearNum.Value, Fields! YearStartRisk.Value, Fields! EarnedPremium.Value, "EarnedAllCoverages"))' –

+0

OMG !!! 오늘은 진짜 너 덕분이다!!!! 대단히 감사합니다 !!! 당신 말이 맞습니다. 달이 더 이상 그룹에 속하지 않습니다. 나는 지금 그렇게 멍청하다고 느낍니다. – Oleg

+0

다행 이군! –

답변

1

답 : 3 행렬의 총 표현식에 약간의 조정이 필요합니다.

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

는 총 년까지 압연되지 않으며, 따라서 달은 더 이상 필요.

관련 문제