2016-07-11 5 views
1

私のSSRSレポートには、2つのテーブルがあります.Loss(テーブル2)とEarned Premiums(テーブル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を計算する必要があります。各月および1年間の損失総額を各月および1年間の総所得プレミアムで割ったものです。 私はこの、カスタマーコードを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")) 

しかし、それdoesntのは私のために正しい答えを与えます何らかの理由で。 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")) 

合計が1年になるため、その月はもう必要ありません。

関連する問題