2013-02-19 2 views
0

У меня есть случай, когда мне нужно искать номера исправлений (месяцы от 1 до 12), в другом наборе данных и возвращать сумму поля возврата.Могу ли я суммировать значения multilookup в службах отчетности 2008

Я использовал MultiLookUp функцию она должна быть чем-то, как показано ниже:

=code.SumLookup(Multilookup(Split("1,2,3,4,5,6,7,8,9,10,11,12" , ","), 
Fields!Transaction_Month.Value,Fields!Total_O_S_Loss___LAE_Reserve.Value 
, "DataSet3")) 

SumLookUp Где это код, который я использовал ранее для LookUpSet, но мне кажется, что он не работает для MultiLookUp

Dim suma As Decimal = New Decimal() 
Public Function SumLookup(ByVal items As Object()) As Decimal 
    If items Is Nothing Then 
     Return Nothing 
    End If 
    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 

Public Function GetMyVal() as Decimal 
    GetMyVal = suma 
End Function 

Можете ли вы предоставить некоторые рекомендации о том, как выполнять такую ​​вещь.

Thanks

+1

Вы получаете сообщение об ошибке? Какая ошибка? –

ответ

0

Почему вы не можете использовать функцию sum?

=Sum(MultiLookup(...)) 

Edit в пердеть мозг:

Что произойдет, если один из месяцев не возвращает значение? Я думаю, что функция multilookup вернет nothing для каждого item внутри объекта items (variantarray).

Я предлагаю вам добавить в инструкцию if внутри цикла for, чтобы поймать любой из них.

Смежные вопросы