sql-server visual-studio-2008 reporting-services parameters

sql server - Seleccione Todos como valor predeterminado para el parámetro Multivalue



sql-server visual-studio-2008 (7)

Estoy creando un informe en Visual Studio 2008 con muchos parámetros de valores múltiples y está funcionando muy bien, pero me gustaría tener la opción "(Seleccionar todo)" como valor predeterminado cuando se abre el informe.

¿Hay algún tipo de expresión o código SQL que pueda usar para que esto suceda? ¿O debo elegir "(Seleccionar todo)" cada vez, en cada parámetro, cada vez que quiero ejecutar el informe?


Agregando a la respuesta de E_8.
Esto no funciona si tienes cadenas vacías.

Puede evitar esto modificando su instrucción de selección en SQL o modificando su consulta en el conjunto de datos de SSRS.

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


El uso de conjunto de datos con valores predeterminados es una forma, pero debe usar la consulta para Valores disponibles y Valores predeterminados, si los valores están codificados en la pestaña Valores disponibles, debe definir los valores predeterminados como expresiones. Las imágenes deberían explicar todo

Crear parámetro (si no se crea automáticamente)

Definir valores - Ejemplo de manera incorrecta

Definir valores - forma correcta ejemplo

Establezca valores predeterminados: debe definir todos los valores predeterminados que reflejen los valores disponibles para hacer "Seleccionar todo" de forma predeterminada, si no define todos, solo los definidos se seleccionarán de forma predeterminada.

El resultado

Una imagen para Tipo de datos: Int


Esto es bastante fácil de lograr creando un conjunto de datos con una consulta de texto como esta:

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

La consulta debe devolver todos los elementos que se pueden seleccionar.


Funciona mejor

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


Intente establecer el "valor predeterminado" de los parámetros para usar la misma consulta que los "valores disponibles". En efecto, proporciona todos los "valores disponibles" como un "valor predeterminado" y la opción "Seleccionar todo" se marca automáticamente.


La respuesta aceptada es correcta , pero no completa . Para que Select All sea ​​la opción predeterminada, el dataset de Available Values ​​debe contener al menos 2 columnas: value y label. Pueden devolver los mismos datos, pero sus nombres tienen que ser diferentes. El conjunto de datos Valores predeterminados usará la columna de valor y luego Select All será el valor predeterminado. Si el conjunto de datos devuelve solo 1 columna, solo se seleccionará el último valor del registro en el menú desplegable del parámetro.


No funciona si tienes nulos.

Puede evitar esto modificando su declaración de selección para incluir algo en nulos:

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