Подтвердить что ты не робот

Выбрать все как значение по умолчанию для параметра Multivalue

Я создаю отчет в Visual Studio 2008 с большим количеством многозначных параметров, и он отлично работает, но я хотел бы иметь параметр "(Выбрать все)" в качестве значения по умолчанию при открытии отчета.

Есть ли какое-то выражение или код SQL, который я могу использовать, чтобы это произошло? Или мне нужно выбирать "(Выбрать все)" каждый раз в каждом параметре каждый раз, когда я хочу запустить отчет?

4b9b3361

Ответ 1

Попробуйте установить параметр "значение по умолчанию" для использования того же запроса, что и "доступные значения". Фактически он предоставляет каждое "доступное значение" как "значение по умолчанию", и автоматически выбирается опция "Выбрать все".

Ответ 2

Использование набора данных со значениями по умолчанию является одним из способов, но вы должны использовать запрос для доступных значений и значений по умолчанию, если значения жестко закодированы на вкладке Доступные значения, тогда вы должны определить значения по умолчанию в качестве выражений. Картинки должны объяснить все

Создать параметр (если он не создан автоматически)

Create Parameter

Определить значения - пример неправильного пути

Define values - wrong way

Определить значения - пример правильного пути

Define values - correct way

Установите значения по умолчанию - вы должны определить все значения по умолчанию, отражающие доступные значения, чтобы сделать "Выбрать все" по умолчанию, если вы не будете определять все, только те, которые определены, будут выбраны по умолчанию.

Set default values

Результат

The result

Одно изображение для типа данных: Int

One picture for Data type Int

Ответ 3

Не работает, если у вас есть нули.

Вы можете обойти это, изменив свой оператор select, чтобы что-то плюнуть в nulls:

phonenumber = CASE
  WHEN (isnull(phonenumber, '')='') THEN '(blank)'
  ELSE phonenumber
END

Ответ 4

Принятый ответ правильный, но не завершен. Для того чтобы Select All был параметром по умолчанию, набор данных доступных значений должен содержать не менее 2 столбцов: значение и метку. Они могут возвращать одни и те же данные, но их имена должны быть разными. Затем набор данных значений по умолчанию будет использовать столбец значений, а затем значение Select All будет использоваться по умолчанию. Если набор данных возвращает только 1 столбец, в раскрывающемся списке параметра будет выбрано только последнее значение записи.

Ответ 5

Добавление к ответу от E_8.
Это не работает, если у вас есть пустые строки.

Вы можете обойти это, изменив инструкцию select в SQL или изменив свой запрос в наборе данных SSRS.

 Select distinct phonenumber
from YourTable
where phonenumber <> ''
Order by Phonenumber

Ответ 6

Он работает лучше

CREATE TABLE [dbo].[T_Status](
   [Status] [nvarchar](20) NULL
) ON [PRIMARY]

GO
INSERT [dbo].[T_Status] ([Status]) VALUES (N'Active')
GO
INSERT [dbo].[T_Status] ([Status]) VALUES (N'notActive')
GO
INSERT [dbo].[T_Status] ([Status]) VALUES (N'Active')
GO

DECLARE @GetStatus nvarchar(20) = null
--DECLARE @GetStatus nvarchar(20) = 'Active'
SELECT [Status]
FROM [T_Status]
WHERE  [Status] = CASE WHEN (isnull(@GetStatus, '')='') THEN [Status]
ELSE @GetStatus END

Ответ 7

Это довольно легко сделать, создав набор данных с текстовым запросом, подобным этому:

SELECT 'Item1'
UNION
SELECT 'Item2'
UNION
SELECT 'Item3'
UNION
SELECT 'Item4'
UNION
SELECT 'ItemN'

Запрос должен возвращать все элементы, которые можно выбрать.