Параметр отчета SSRS С 500 + значениями


Один из параметров, который я имею в своем отчете SSRS, называется Customers. Пользователь хочет иметь возможность выбрать нескольких клиентов из выпадающего списка. Наш список клиентов насчитывает более 500 + записей. Как я могу получить столько значений в выпадающем списке? Если уж на то пошло, сколько значений будет обрабатывать параметр? Есть ли способ настроить выпадающий список, чтобы его можно было вводить в значения запроса? Пример этого последнего вопроса был бы похож на то, как на большинстве форм, которые запрашивают государство, вы живите в, вы можете нажать на список и ввести "TX" , и он будет двигаться вниз в Техас вместо того, чтобы прокручивать вниз. Надеюсь, это имеет смысл. Спасибо за вашу помощь заранее!

2 2

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 и не было никаких проблем.