ssrs lookupset между 2 наборами данных, используя диапазон дат как часть целевого выражения - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть 2 базы данных SQL, из которых я получаю данные.Я не могу выполнять запросы на разных серверах или объединять эти данные в SQL, поэтому мне нужно иметь 2 отдельных набора данных и выполнить объединение / поиск между 2.

В первом наборе данных есть данные заказа / агента.Второй набор данных содержит информацию журнала вызовов.(Данные вызова не имеют никакой связи с данными заказа, поэтому я «присоединяюсь» по номеру телефона к вызову, который у нас есть в заказе.)

Я хочу предоставить всезвонки, полученные по номеру телефона в день, когда агент сообщает, что выполнено определенное задание.

Мне нужно объединить 3 поля: телефон, дата и агент.Это я могу сделать без проблем, объединяя 3 поля на каждой стороне объединения, чтобы затем вернуть нужное мне значение из 2-го набора данных.

=join(LookupSet(Fields!in_phone.Value  + Fields!CPCCC_Date.Value + Fields!CPCCC_CompBy.Value, Fields!phone_join.Value  + Fields!Rec_Date.Value + Fields!ad_username.Value , Fields!ident.Value, "CallRecorder"), vbCRLF)

Этот код работает только файл и возвращает значение идентификатораЯ ищу, когда вызов и задача будут завершены в одну и ту же дату.

Теперь меня просят улучшить эту ситуацию, отыскивая любые вызовы, которые произошли не позднее, чем за 3 дня до завершения задачи..

Вот где я застрял, как использовать диапазон дат как часть выражения.

То, что я сейчас делаю в SQL для обоих наборов данных, это вычисление календарной недели и можетиспользуйте его вместо диапазона дат, но для задачи, выполненной в пятницу, я могу включить вызовы, которые произошли в понедельник, а не со среды по пятницу.

Вот мой код, который нужно сопоставлять по неделям:

=join(LookupSet(Fields!in_phone.Value  + Fields!CPCCC_WK.Value + Fields!CPCCC_CompBy.Value, Fields!phone_join.Value  + Fields!Rec_WK.Value + Fields!ad_username.Value , Fields!ident.Value, "CallRecorder"), vbCRLF)

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

CPCCC_Date - моя задача comдата принятия в 1-м наборе данных. Rec_Date - это дата вызова.

Для второго набора данных в SQL было бы достаточно легко создать Rec Date - значение 3 days (Iтакже есть функция рабочих дней, которую я могу использовать в SQL, чтобы получить дату таким образом, а не в SSRS).

Так что, если задача была завершена в пятницу 13-го, я хочу ответить на вызовы 10-го числа через13-е (вместо 8-го - 13-го).

Таким образом, добавление поля, которое тянет календарную неделю для этих 2 наборов данных и сопоставления, работает, но я смотрю, смогу ли кто-нибудь использовать диапазонкак часть выражений, таким образом я могу набрать это лучше к тому, что запрашивается.

...