Lección 3: Agregar un parámetro de valor único con una lista de valores disponibles

Nuevo: 17 de julio de 2006

Los valores disponibles, o valores válidos, proporcionan a los lectores del informe una lista de valores posibles para un parámetro de informe. Como autor del informe, puede proporcionar valores válidos desde una consulta especialmente diseñada para recuperar un conjunto de valores del origen de datos o puede proporcionar un conjunto predefinido de valores. Al enlazar un conjunto de valores disponibles a una consulta del conjunto de datos que se ejecuta cuando se procesa el informe, se asegura de que sólo se puedan seleccionar de la lista desplegable los valores existentes en la base de datos.

En esta lección modificará el informe Sales Orders para presentar una lista desplegable de nombres de vendedores disponibles en la base de datos AdventureWorks. Establecerá una propiedad de tabla para mostrar un mensaje cuando no haya filas en el conjunto de resultados para el valor de parámetro seleccionado. Cuando selecciona un nombre y ve el informe, éste sólo muestra las ventas de ese vendedor.

Para abrir el informe Sales Orders

  1. En SQL Server Business Intelligence Development Studio, abra el proyecto del servidor de informes Advanced Parameters Tutorial creado en la lección anterior.

  2. En el Explorador de soluciones, haga doble clic en el informe Sales Orders. El informe se abre en la vista Datos.

  3. Haga clic en la ficha Datos.

Para agregar un parámetro de consulta a la consulta del conjunto de datos AdventureWorks

  1. En la ficha Datos de la lista desplegable Conjuntos de datos, seleccione AdventureWorks.

  2. Agregue un nuevo parámetro de consulta, @SalesPersonID, a la consulta. En la consulta, expanda la cláusula WHERE para incluir la siguiente comparación: AND S.SalesPersonID = (@SalesPersonID).

    Reemplace la consulta existente por el siguiente texto:

    SELECT S.OrderDate, DATENAME(weekday, S.OrderDate) as Weekday,
        S.SalesOrderNumber, S.TotalDue, C.FirstName, C.LastName, 
        C.ContactID
    FROM    HumanResources.Employee E INNER JOIN
            Person.Contact C ON E.ContactID = C.ContactID INNER JOIN
            Sales.SalesOrderHeader S ON E.EmployeeID = S.SalesPersonID
    WHERE
        (
        S.OrderDate BETWEEN (@StartDate) AND (@EndDate) 
        AND
        S.SalesPersonID = (@SalesPersonID)
        )
    

    [!NOTA] Los paréntesis que encierran el parámetro de consulta son una parte importante de la sintaxis de la consulta.

  3. Haga clic en el botón Ejecutar (!). Cuando se le solicite que proporcione los parámetros de consulta, utilice la siguiente tabla para escribir los valores.

    @StartDate

    20010101

    @EndDate

    20030101

    @SalesPersonID

    286

  4. Haga clic en Aceptar. Aparecerá el conjunto de resultados para el vendedor Ranjit Varkey Chudakatil con SalesPersonID = 286.

  5. (Opcional) Compruebe que el parámetro de consulta @SalesPersonID posee el valor: =Parameters!SalesPersonID.Value. Haga clic en el botón Editar el conjunto de datos seleccionado () y seleccione la ficha Parámetros.

  6. (Opcional) Compruebe que el parámetro del informe SalesPersonID se haya creado automáticamente. En el menú Informe, seleccione Parámetros del informe. Se abrirá el cuadro de diálogo Parámetros del informe. Compruebe que SalesPersonID se encuentra en el panel Parámetros. Editará este parámetro en un procedimiento posteriormente explicado en este tema.

    En el siguiente procedimiento, creará un conjunto de datos independiente que proporciona los valores para la lista desplegable de valores disponibles para el parámetro del informe SalesPersonID.

Para crear el conjunto de datos SalesPersons para valores disponibles

  1. En la lista desplegable Conjunto de datos, seleccione <NuevoConjunto de datos>. Se abre el cuadro de diálogo Conjunto de datos.

  2. Escriba un nombre para el nuevo conjunto de datos. En el campo Nombre, escriba SalesPersons. Este conjunto de datos se utilizará como entrada para la lista de valores válidos.

  3. Pegue la siguiente consulta Transact-SQL en el panel de consulta:

    SELECT SP.SalesPersonID, C.FirstName, C.LastName
    FROM   Sales.SalesPerson AS SP INNER JOIN
         HumanResources.Employee AS E ON E.EmployeeID = SP.SalesPersonID INNER JOIN
         Person.Contact AS C ON C.ContactID = E.ContactID
    
  4. Haga clic en el botón Ejecutar (!). Las columnas SalesPersonID, FirstName y LastName aparecen en el conjunto de resultados y como campos del conjunto de resultados SalesPersons.

    Si bien puede agregar campos calculados a la consulta, por ejemplo al agregar LastName + N' ' + FirstName as Name a la instrucción SELECT como una columna adicional, Reporting Services proporciona una manera de crear campos calculados a partir de campos del conjunto de datos existente. Puede utilizar esta característica cuando la consulta utiliza procedimientos almacenados que recuperan un conjunto predefinido de columnas. En el siguiente procedimiento, creará un nuevo campo para el conjunto de datos que combina dos campos existentes.

Para agregar un nuevo campo del conjunto de datos calculado

  1. En la ventana Conjuntos de datos, haga clic con el botón secundario en el conjunto de datos SalesPersons y seleccione Agregar.

    Si la ventana Conjuntos de datos no está abierta, haga clic en ALT+CTRL+D.

  2. En el cuadro de texto Nombre, escriba Name.

  3. Seleccione la opción Campo calculado.

  4. Pegue la siguiente expresión en el cuadro de texto:

    =Fields!LastName.Value + ", " + Fields!FirstName.Value
    
  5. Haga clic en Aceptar.

    En la barra de herramientas de datos, haga clic en Actualizar campos. El nuevo campo Name aparece en la colección de campos para el conjunto de datos SalesPersons.

    En el siguiente procedimiento, establecerá la propiedad de la región de datos de tabla NoRows. El texto de esta propiedad se muestra cuando los datos recuperados para el conjunto de datos asociado de la tabla no contienen resultados.

Para agregar un mensaje NoRows a la tabla

  1. Haga clic en la ficha Diseño para cambiar a la vista Diseño.

  2. En el menú Ver, seleccione la ventana Propiedades.

  3. En la lista desplegable de objetos de la ventana Propiedades, seleccione la tabla. De manera predeterminada, el nombre de la tabla es table1.

  4. En la ventana Propiedades, desplácese hasta NoRows.

  5. Haga clic en el cuadro de texto de NoRows y escriba el siguiente texto:

    No results available for this combination of parameters.

    Este mensaje se mostrará cuando el conjunto de resultados de un determinado parámetro de consulta no contenga filas.

  6. (Opcional) Haga clic en Vista previa. En el parámetro SalesPersonID, escriba 1. El mensaje NoRows aparecerá en lugar de la región de datos de tabla.

    En el siguiente procedimiento, editará el parámetro del informe SalesPersonID generado automáticamente. Establecerá las propiedades del informe para mostrar el nombre del vendedor en la lista desplegable de valores disponibles en lugar del identificador de la base de datos.

Para establecer las propiedades del parámetro del informe SalesPersonID

  1. En el menú Informe, seleccione Parámetros del informe. Se abrirá el cuadro de diálogo Parámetros del informe. Aparece el parámetro SalesPersonID en el panel Parámetros.

  2. En la lista desplegable Tipo de datos, seleccione Integer.

  3. En el cuadro de texto Pedir datos, escriba Select Sales Person:.

  4. En la sección Valores disponibles, seleccione De consulta.

  5. En la lista desplegable Conjunto de datos, seleccione SalesPersons.

  6. En el campo Valor, seleccione SalesPersonID.

  7. En el campo Etiqueta, seleccione Name.

    La lista desplegable de valores válidos para el parámetro SalesPersonID mostrará ahora el nombre de cada vendedor en lugar de SalesPersonID.

  8. En la sección Valores predeterminados, seleccione De consulta.

  9. En la lista desplegable Conjunto de datos, seleccione SalesPersons.

  10. En el campo Valor, seleccione SalesPersonID.

  11. Haga clic en Aceptar.

  12. Haga clic en la ficha Vista previa. El informe muestra una lista desplegable con los nombres de los vendedores.

Pasos siguientes

Acaba de agregar correctamente un parámetro de valor único a un informe existente. A continuación modificará los parámetros DayoftheWeek y SalesOrderID para que sean de varios valores. Vea Lección 4: Agregar un parámetro con varios valores con Seleccionar todo.

Vea también

Otros recursos

Trabajar con parámetros en Reporting Services
Usar parámetros de uno y varios valores
Usar parámetros en expresiones

Ayuda e información

Obtener ayuda sobre SQL Server 2005