Wybierz Wszystkie jako wartość domyślną dla parametru Multivalue

Buduję raport w Visual Studio 2008 z wieloma parametrami multivalue i działa świetnie, ale chciałbym mieć opcję" (Select all) " jako domyślną wartość podczas otwierania raportu.

Czy jest jakieś wyrażenie lub kod SQL, którego mogę użyć do tego celu? Czy muszę wybierać" (Select all) " za każdym razem, w każdym parametrze, za każdym razem, gdy chcę uruchomić raport?

Author: podiluska, 2010-03-24

7 answers

Spróbuj ustawić "wartość domyślną" parametrów, aby użyć tego samego zapytania co "dostępne wartości". W efekcie podaje każdą "dostępną wartość" jako "wartość domyślną", a opcja "Wybierz wszystko" jest automatycznie zaznaczana.

 82
Author: JC Ford,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-03-30 18:46:33

Użycie dataset z wartościami domyślnymi jest jednokierunkowe, ale musisz użyć kwerendy dla dostępnych wartości i dla wartości domyślnych, jeśli wartości są zakodowane na twardo w zakładce Dostępne wartości, to musisz zdefiniować wartości domyślne jako wyrażenia. Zdjęcia powinny wyjaśniać wszystko

Utwórz parametr (jeśli nie został utworzony automatycznie)

Utwórz Parametr

Define values-wrong way example

Define values-wrong way

Define values-correct way example

Define values-poprawny sposób

Ustaw domyślne wartości-ty musi zdefiniować wszystkie wartości domyślne odzwierciedlające dostępne wartości, aby domyślnie "wybierz Wszystkie", jeśli nie zdefiniujesz wszystkich, domyślnie zostaną wybrane tylko te zdefiniowane.

Ustaw wartości domyślne

Wynik

Wynik

Jeden obrazek dla typu danych: Int

Jedno zdjęcie dla typu danych Int

 14
Author: Pawel Cioch,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-01-21 23:28:10

Nie działa, jeśli masz null.

Możesz to obejść modyfikując swoją instrukcję select, aby dodać coś do Null:

phonenumber = CASE
  WHEN (isnull(phonenumber, '')='') THEN '(blank)'
  ELSE phonenumber
END
 6
Author: E_8,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-12-12 15:50:30

Przyjęta odpowiedź jest poprawna , ale niekompletna . Aby Select All była opcją domyślną, dostępny zbiór danych wartości musi zawierać co najmniej 2 kolumny: wartość i etykieta. Mogą zwrócić te same dane, ale ich nazwy muszą być inne. Wartości domyślne dataset użyje kolumny value, a następnie Select All będzie wartością domyślną. Jeśli dataset zwróci tylko 1 kolumnę, z listy rozwijanej parametru zostanie wybrana tylko wartość ostatniego rekordu.

 4
Author: ajeh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-30 13:38:16

Dodanie do odpowiedzi z E_8.
To nie działa, jeśli masz puste ciągi.

Można to obejść, modyfikując instrukcję select w SQL lub modyfikując zapytanie w zbiorze danych SSRS.

 Select distinct phonenumber
from YourTable
where phonenumber <> ''
Order by Phonenumber
 0
Author: BIReportGuy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-09 17:18:04

It works better

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
 0
Author: galgil,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-22 12:31:44

Jest to dość łatwe do osiągnięcia, tworząc zbiór danych z zapytaniem tekstowym, takim jak:

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

Zapytanie powinno zwrócić wszystkie elementy, które można wybrać.

 -4
Author: Stefan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-12-06 22:45:18