Думаю, вам просто нужно изменить данные, которые вы суммируете вместе, поскольку, похоже, вы просто находите обменные курсы?
Если это так, то вы должны быть в состоянии использовать только
=Sum(Fields!Net_Sales_Amount.Value/LOOKUP(Fields!Country.Value, Fields!Country.Value, Fields!RATE.Value, "Currency"))
в вашем общем текстовом поле, которое должно быть вне группы, которую вы используете, чтобы показать отдельные значения.
Если вы хотите для поиска много значений, а затем sum
их все вместе, однако, это немного сложнее.
Вместо использования lookup
вам необходимо использовать lookupset
, который использует тот же синтаксис, но может возвращать более одного значения. Однако нет встроенной функции, которая может вернуть эти возвращаемые значения, так как значения, возвращаемые в функции lookupset
, фактически являются объектами, а не цифрами. Таким образом, вам нужно будет использовать собственный код.
Откройте свое Свойство отчета, а затем окно пользовательского кода, в который можно вставить следующее:
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
Это может быть использовано в текстовом поле как выражение:
=Code.SumLookup(LookupSet(Fields!Country.Value, Fields!Country.Value, Fields!RATE.Value, "Currency"))
которые вы можете использовать наряду с другими числовыми значениями для агрегаций или вычислений.
Вы хотите суммировать каждую сумму (sales)/lookup (value) 'или вы хотите разделить общую сумму' sum (sales) 'на общую сумму всех' lookup (values) '? – iamdave
Мне нужно разделить все продажи до суммы (у меня есть одно значение для каждой страны) – Testtest11
Пожалуйста, добавьте фактический снимок экрана вашего отчета, а не его отдых в excel ... – iamdave