Вы можете использовать .map
вместо этого и назначить обратно element
внутри .then
, прикованного к вызову getAmount
:
await Promise.all(
result.map((element) => (
getAmount(element.dealValue, element.dealType)
.then((result) => {
element.IDGfee = result;
})
))
);
(Хотя, как отмечается в комментарии, это не будет дождитесь возвращения каждого ответа, прежде чем присваивать каждому element
- ваш текущий код будет выдан перед присваиванием, если какой-либо запрос выдает ошибку, тогда как он может бросить после того, как некоторые свойства были назначены.)
Я отвечаю на свой вопрос, выражение фильтра на самом деле таково:
=Fields!Name.Value Like ="*"+ Parameters!FilterName.Value + "*"
т.е. используйте «*»
вместо «%»
, на самом деле.
Рекомендуется использовать точное совпадение.
Вы можете создать список параметров с несколькими значениями из набора данных, возвращенного из вашего запроса или альтернативного запроса, тем самым обеспечивая точное совпадение может быть достигнута.
Следующая ссылка может оказаться полезной.
Я бы посоветовал вам применить фильтр как часть оператора SQL, который выполняется для возврата DataSet, вместо того, чтобы пытаться применить фильтры в отчете служб Reporting Services. Я думаю, что SQL Engine гораздо более оптимизирован для обработки этих типов фильтров / запросов.
Перейти в свойствах набора данных перейдите на вкладку фильтра. в раскрывающемся списке выражения щелкните поле, которое нужно отфильтровать по (Имя). нажмите на оператора и выберите лайк. в поле значения щелкните выбор выражения. откроется новое окно. перейдите к списку параметров и добавьте параметр в уравнение. нажмите ОК.