Параметр отчета SSRS С 500 + значениями
Один из параметров, который я имею в своем отчете SSRS, называется Customers. Пользователь хочет иметь возможность выбрать нескольких клиентов из выпадающего списка. Наш список клиентов насчитывает более 500 + записей. Как я могу получить столько значений в выпадающем списке? Если уж на то пошло, сколько значений будет обрабатывать параметр? Есть ли способ настроить выпадающий список, чтобы его можно было вводить в значения запроса? Пример этого последнего вопроса был бы похож на то, как на большинстве форм, которые запрашивают государство, вы живите в, вы можете нажать на список и ввести "TX" , и он будет двигаться вниз в Техас вместо того, чтобы прокручивать вниз. Надеюсь, это имеет смысл. Спасибо за вашу помощь заранее!
2 ответа:
Поле параметра не может работать с текстом автозаполнения. И я согласен, что наличие 500 значений в небольшом поле не является удобным для пользователя.
Мое предложение состоит в том, чтобы разделить параметры на 2-4 различных параметра (чтобы облегчить поиск клиентов), каждый параметр будет иметь имя клиента в соответствии с ABC (например, первые парамы будут содержать имена клиентов из A-I, второй J-R, последний S-Z)
Если это так, то ваш запрос должен выглядеть следующим образом: следующее:
SELECT customerName,customerAddress,customerCity,... FROM customerTable WHERE (customerID IN (@customerParam1) OR customerID IN (@customerParam2) customerID IN (@customerParam3))
Я не знаю, как сделать вторую часть с вводом значения, но я могу помочь с настройкой выпадающего списка. Сначала напишите запрос, который выбирает имя клиента и уникальное значение для клиента.
Пример:
SELECT CUSTOMER_NAME, CUSTOMER_ID FROM CUSTOMER_TABLE
Затем добавьте параметр и выберите тип данных и флажок с надписью "разрешить несколько значений". Затем в свойствах перейдите на вкладку "Доступные значения". Как только это откроется, выберите "получить значения из запроса" и выберите запрос, который вы только что писал. После этого перейдите в поле " Значение "и выберите уникальное значение из вашего запроса, а для поля" метка " выберите имя клиента, и они все должны появиться.
При использовании значений параметра в вашем основном запросе вам нужно будет убедиться, что вы используете функцию IN, а не =. Это происходит потому, что вы получаете не только одну ценность, но и все сразу.
Пример:
SELECT CUSTOMER_NAME,CUSTOMER_ADDRESS,CUSTOMER_CITY,... FROM CUSTOMER_TABLE WHERE CUSTOMER_ID IN (@CUSTOMERNAMEPARAMETER)
Имя параметра - это то, какое имя переменной вам нужно использовать.
Также просто еще один совет вы можете выбрать их все по умолчанию, перейдя к значениям по умолчанию и выбрав "получить значения из запроса" и снова выберите запрос и уникальное значение.
Также я не думаю, что есть проблема с ограничением количества элементов в списке. У меня было это почти до 1000 и не было никаких проблем.