Задание переменных в Report Builder 3.0 - MySQL
Формулировка задачи:
Приветствую всех присутствующих.
Не совсем уверен, что по адресу, но, может, кто сталкивался.
В общем суть:
Имеем MySQL БД (удаленная),имеем ODBC-драйвер, через который цепляемся к этой БД, имеем построитель отчетов Report Builder 3.0.
Отчет строится, все нормально. Единственное неудобство - Report Builder не понимает стандартного задания переменных для оракловых бд (через @) и пришлось воспользоваться костылем вот такого вида:
where instr(?,concat(';',t.ид_сдел,';'))
ид_сдел - id сделок (может быть как одна, так и несколько)
Что бы множественность выбора сработала при построении запроса, в Наборе данных, в разделе Параметры, пришлось прописать следующее (конкретно на эту переменную):
=";" & join(Parameters!Parameter1.Value,";") & ";"
Все работает, и даже без ошибок.
Встал следующий вопрос - как в этом выпадающем списке параметров (список сделок) прописать строку "Все", при выборе которой выбирались бы все сделки (что бы не пришлось тыкать в каждую сделку отдельно).
Есть, конечно, вариант при построении отчета жмакать кнопку "Выбрать все" - тогда происходит выделение всех строк со сделками, но Заказчика такой вариант не устраивает.
Стандартные методы задания такого вида переменных ('All' in "наименование переменной" or поле_значений in "наименование переменной") - не работает (В моем случае это выглядит вот так:
where instr('All' in (?) or (?),concat(';',t.ид_контр,';'))
при таком варианте описания переменной в отчет вызывается дополнительная переменная (т.е. Report Builder воспринимает такую запись как 2 переменные (т.к. один знак вопроса (?) воспринимается как одна переменная)
Решение задачи: «Задание переменных в Report Builder 3.0»
textual
Листинг программы
=";" & JOIN(Parameters!Parameter1.Value,";") & ";"
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д