Как я могу использовать FIND_IN_SET () с '?' параметр в SSRS Report Builder 3.0? - PullRequest
0 голосов
/ 15 января 2019

Мой сервер SSRS использует соединение ODBC для получения данных с сервера MySQL. У меня есть запрос, который использует метод FIND_IN_SET. В моих требованиях указано, что в отчете должны быть указаны параметры даты начала и окончания, а также список имен пользователей, разделенных запятыми. Параметры начальной и конечной даты работают нормально, поэтому я для краткости оставил их в моем примере кода.

Когда я запускаю запрос в MySQL Workbench, я получаю результаты. Когда я запускаю запрос в конструкторе запросов построителя отчетов 3.0, я получаю результаты: ЕСЛИ И ТОЛЬКО ЕСЛИ , я жестко кодирую значение параметра, используемого для метода FIND_IN_SET (). Когда я пытаюсь использовать '?' параметр для значения и вставьте точно такое же значение, как при жестком кодировании, я не получаю результатов.

Этот запрос работает в Workbench и конструкторе запросов построителя отчетов:

select pwk.username,
    sum(case when pwk.event = '/some-value/' then pwk.count else 0 end) 
    as order_detail_count
from table pwk
where find_in_set(pwk.username, 'foosername@test.net,foo2@test.com,username@test.org')

Этот же запрос ничего не возвращает, когда я использую '?' параметр и скопируйте / вставьте указанное выше значение при выполнении запроса:

select pwk.username,
    sum(case when pwk.event = '/some-value/' then pwk.count else 0 end) 
    as order_detail_count
from table pwk
where find_in_set(pwk.username, ?)

Кажется, что построитель отчетов не использует текстовый параметр так, как я ожидал, но у меня нет способа определить, как его использовать "правильно". Кто-нибудь когда-нибудь сталкивался с этой проблемой?

Я ожидаю, что результаты будут идентичны, но это не так. Есть ли способ использовать FIND_IN_SET с текстовым параметром? Или есть другой способ сделать это? Я вполне согласен с использованием чего-то другого, кроме FIND_IN_SET, если это будет работать. Я попытался использовать IN (), но это не сработало в WorkBench. Мои пользователи просто должны иметь возможность вводить несколько имен пользователей в качестве параметра.

Если это актуально, я использую Табликс для отображения данных.

...