LookupSet на основе двух объединенных полей вместо одного

У меня есть два набора данных: Dataset1 (первичный) и Dataset2. Набор данных моего отчета - Dataset1.

Я хочу получить доступ к сумме брутто-премии из набора данных 2 и поместить ее в отчет. Отчет работает нормально, если параметр "название рынка" является параметром с одним значением.

Когда я устанавливаю для свойств параметра значение «Разрешить несколько значений», в моем отчете отображаются неправильные итоги для поля «Производство». Проблема в том, что функция lookupset основана на Currency_Type.

Что мне нужно сделать, так это найти каждое название рынка и каждый тип валюты, затем найти соответствующую валовую премию во втором наборе данных и вернуть значение.

Набор данных 1:

Market Name      Currency Type     Receivable

Набор данных 2:

Company Name2    Currency Type1    Gross Premium Amount

Результат должен быть таким:

Market Name      Currency Type     Receivable             Gross Premium Amount

Я использовал этот код, если искать одно значение:

=code.SumLookup(LookupSet(Fields!Currency_Type.Value, Fields!Currency_Type1.Value,Fields!Gross_Premium_Amount.Value, "DataSet2"))

Что мне делать, если я хочу, чтобы подстановка была основана на названии рынка и типе валюты вместе?


person Georges Sabbagh    schedule 19.11.2012    source источник


Ответы (1)


Можете ли вы присоединиться к наборам данных в своем запросе? Это было бы намного проще, если бы это было возможно. В противном случае вам нужно каким-то образом разделить ваш многозначный параметр, например, включить его в качестве элемента в ваш первый набор данных. (Может быть, даже перекрестное соединение, если необходимо.)

Но чтобы прямо ответить на ваш вопрос

Что мне делать, если я хочу, чтобы подстановка была основана на названии рынка и типе валюты вместе?

[Обратите внимание, что это не имеет ничего общего с поиском многозначного параметра.]

Я решил эту проблему, создав ключ из двух частей информации в самих моих запросах, например, с помощью конкатенации строк, но вы также можете сделать то же самое в своей функции LookupSet:

= LookupSet (Fields! Currency_Type.Value + "-" + Fields! MarketName.Value, Fields! Currency_Type1.Value + "-" + Fields! Market_Name.Value, Fields! Gross_Premium_Amount.Value, "DataSet2"))

Это будет работать, только если MarketName является значением в вашем первом наборе данных.

person Jamie F    schedule 20.11.2012