Share via


Crear conjuntos de datos de informe a partir de una base de datos relacional de SQL Server

Reporting Services proporciona una extensión de procesamiento de datos que admite la recuperación de datos de informe desde bases de datos relacionales de MicrosoftSQL Server. Esta extensión de procesamiento de datos recupera los datos desde las tablas de datos relacionales, las vistas, los procedimientos almacenados y otras estructuras de datos definidas en el origen de datos subyacente. Una vez que se ha establecido una conexión con un origen de datos, se puede crear un conjunto de datos de informe que defina los datos del origen de datos que se desea utilizar en el informe. Un conjunto de datos de Reporting Services incluye un origen de datos, una consulta que recupera datos cuando se procesa el informe y una colección de campos. La definición del conjunto de datos se guarda en la definición del informe. El panel Datos de informe muestra las definiciones de conjuntos de datos actuales de un informe.

Un conjunto de datos se define creando una consulta con texto de consulta o llamadas a procedimientos almacenados de Transact-SQL, o eligiendo una tabla y recuperando todos los datos que contiene. La colección de campos de un conjunto de datos se crea automáticamente a partir de la consulta. Se pueden editar los campos o agregar campos calculados. Los campos calculados tienen valores basados en expresiones que se calculan cuando se ejecuta la consulta. Los tipos de datos de los campos se asignan a un subconjunto de tipos de datos de Common Language Runtime (CLR) desde .NET Framework. Para obtener más información, vea Descripción de los conjuntos de datos de informe y Cómo recuperar datos de un origen de datos de SQL Server.

Hay dos diseñadores de consultas para orígenes de datos relacionales: un diseñador de consultas basado en texto y un diseñador gráfico de consultas. De forma predeterminada, se abre el diseñador de consultas basado en texto. El diseñador de consultas basado en texto se usa para escribir texto Transact-SQL directamente, para pegar texto de consulta de otro origen, para especificar consultas complejas que no se pueden crear con el diseñador gráfico de consultas o para escribir expresiones basadas en consultas. El diseñador gráfico de consultas se utiliza para explorar los metadatos en el origen de datos con el fin de diseñar interactivamente una consulta o ver una lista de procedimientos almacenados o tablas en el origen de datos. Para obtener más información, vea Interfaz de usuario del diseñador gráfico de consultas, Interfaz de usuario del Diseñador de consultas basado en texto y Cómo recuperar datos de un origen de datos de SQL Server.

Después de definir una consulta, también se pueden especificar propiedades como Timeout y CaseSensitivity, y definir los parámetros de informe que pasan valores a los parámetros de consulta. Al ejecutar la consulta se ve un conjunto de resultados del origen de datos. Las columnas del conjunto de resultados están asignadas a campos del conjunto de datos. Cuando se procesa el informe, los elementos de informe enlazados a los campos del conjunto de datos muestran los datos recuperados o calculados. Un informe procesa solamente el primer conjunto de resultados recuperado por cualquier consulta.

Especificar una consulta

Puede usar el diseñador de consultas basado en texto o el diseñador gráfico de consultas para especificar una consulta para un conjunto de datos de un origen de datos de SQL Server. Al especificar la consulta para un conjunto de datos nuevo, se abre el diseñador gráfico de consultas de forma predeterminada. Si la consulta del conjunto de datos existente es demasiado compleja para verla en el diseñador gráfico de consultas, se abre diseñador de consultas basado en texto. Ambos diseñadores de consultas admiten los tipos de consultas siguientes: Texto y StoredProcedure. El tipo de consulta se especifica en el cuadro de diálogo Propiedades del conjunto de datos antes de abrir el diseñador de consultas.

Para las consultas de tipo Texto, si incluye los parámetros de la consulta en el texto de la consulta, Reporting Services crea los parámetros de informe correspondientes. Para las consultas de tipo StoredProcedure, si el procedimiento almacenado tiene parámetros de entrada, Reporting Services crea los parámetros de informe correspondientes. Para obtener más información sobre los parámetros de consulta y los parámetros de informe, vea Usar parámetros de consulta más adelante en este tema.

Para obtener más información acerca de cada uno de los diseñadores de consultas, vea Interfaz de usuario del Diseñador de consultas basado en texto y Interfaz de usuario del diseñador gráfico de consultas.

Usar consultas de tipo Texto

Cuando el diseñador de consultas se abre en modo Texto, puede escribir comandos Transact-SQL para definir los datos de un conjunto de datos. Por ejemplo, la siguiente consulta Transact-SQL selecciona todos los nombres de todos los empleados.

SELECT FirstName, LastName
FROM   HumanResources.Employee E INNER JOIN
       Person.Contact C ON  E.ContactID=C.ContactID

Haga clic en el botón Ejecutar (!) de la barra de herramientas para ejecutar la consulta y mostrar los resultados en el panel Resultado.

También puede importar consultas existentes de otro informe o de archivos sql.

Usar consultas de tipo StoredProcedure

Cuando se abre el diseñador de consultas en el modo StoredProcedure, el procedimiento almacenado que se debe usar ya se ha seleccionado al especificar StoredProcedure en el cuadro de diálogo Propiedades del conjunto de datos.

Si ya conoce el nombre de otro procedimiento almacenado que desea ejecutar, puede reemplazar el texto existente y escribir el nombre del nuevo procedimiento almacenado en el panel de consulta.

Reporting Services admite procedimientos almacenados que devuelven solamente un conjunto de datos. Si un procedimiento almacenado devuelve varios conjuntos de resultados, se utiliza el primero.

Si un procedimiento almacenado incluye un parámetro con un valor predeterminado, se puede tener acceso a dicho valor desde Reporting Services si se usa la palabra clave DEFAULT como valor para el parámetro. Si el parámetro de consulta está vinculado a un parámetro de informe, el usuario puede escribir o seleccionar la palabra DEFAULT en el cuadro de entrada del parámetro del informe. Para obtener más información, vea Procedimientos almacenados (motor de base de datos).

Usar parámetros de consulta

Para el texto de consulta que contiene parámetros o para los procedimientos almacenados con parámetros de entrada, Report Designer crea automáticamente los parámetros de informe correspondientes en la definición de informe al ejecutar la consulta. Cuando se ejecuta el informe, los valores de los parámetros del informe se pasan a los parámetros de la consulta. Por ejemplo, la siguiente consulta SQL crea un parámetro de informe denominado EmpID:

SELECT FirstName, LastName FROM HumanResources.Employee E INNER JOIN
       Person.Contact C ON  E.ContactID=C.ContactID 
WHERE EmployeeID = @EmpID

Puede administrar la relación entre los parámetros de informe y los parámetros de consulta con Propiedades del conjunto de datos (cuadro de diálogo), Parámetros. Las consultas con parámetros vinculados a parámetros del informe no requieren la instrucción DECLARE.

A pesar de que los parámetros de informe se crean automáticamente a partir de los parámetros de consulta, los parámetros de informe se administran de forma separada en el panel Datos de informe.

[!NOTA]

Si se cambia el nombre de un parámetro de la consulta, o si se elimina, el parámetro del informe correspondiente no se cambia ni elimina de forma automática. Puede quitar o cambiar el orden de los parámetros de informe usando los botones de la barra de herramientas del panel Datos de informe. Para obtener más información, vea Agregar parámetros al informe.