Share via


Lección 3: Definir un conjunto de datos de informe a partir de datos XML incrustados

Nuevo: 17 de julio de 2006

Siga los siguientes pasos para aprender a recuperar datos de informe a partir de datos XML incrustados en la consulta del conjunto de datos para un origen de datos de Reporting Services. En este ejemplo, se han incrustado datos XML para un conjunto de resultados de la consulta SQL provenientes de la base de datos de ejemplo AdventureWorks en una consulta del conjunto de datos. Este tutorial también muestra cómo especificar los atributos y nodos del elemento que desea recuperar para el conjunto de datos de informe en la etiqueta ElementPath de la consulta.

Procedimientos

Para crear la consulta para el conjunto de datos

  1. Abra Microsoft SQL Server Management Studio.

  2. En el cuadro de diálogo Conectar al servidor, elija Tipo de servidorMotor de base de datos.

  3. En Nombre de servidor, escriba el nombre del servidor en el que tiene instalada la base de datos de ejemplo AdventureWorks. Por ejemplo, localhost.

  4. En el Explorador de objetos, expanda el nodo Bases de datos.

  5. Haga clic con el botón secundario en AdventureWorks y elija Nueva consulta.

  6. Pegue la siguiente consulta en el panel de consulta.

    SELECT TOP 5 S.OrderDate, S.SalesOrderNumber, S.TotalDue, 
           C.FirstName, C.LastName
    FROM    HumanResources.Employee E INNER JOIN
            Person.Contact C ON E.ContactID = C.ContactID INNER JOIN
            Sales.SalesOrderHeader S ON E.EmployeeID = S.SalesPersonID
    ORDER BY S.TotalDue DESC
    FOR XML AUTO
    
  7. En el panel de resultados, seleccione el resultado XML y cópielo.

Para agregar un nodo raíz al resultado XML

  1. Abra el Bloc de notas u otro editor de texto de su elección.

  2. Pegue el texto XML.

  3. Inserte el siguiente texto XML antes de la primera línea: <Query><XmlData><Root>.

  4. Agregue el siguiente texto XML a la última línea: </Root></XmlData></Query>

    Estos son los datos XML que puede utilizar como datos de prueba.

Para definir un conjunto de datos de informe para el servicio Web

  1. Inicie el Diseñador de informes y abra el proyecto del servidor de informes creado para este tutorial.

  2. En la vista Datos, seleccione Nuevo conjunto de datos. Escriba un nombre para el conjunto de datos (por ejemplo, XMLEmbeddedDataSet).

  3. En el cuadro de diálogo Conjunto de datos, en Origen de datos, seleccione Nuevo origen de datos. Aparecerá el cuadro de diálogo Origen de datos.

  4. Escriba un nombre para el origen de datos (por ejemplo, XMLEmbeddedDataSource).

  5. En Tipo, seleccione XML.

  6. Deje Cadena de conexión en blanco.

  7. Haga clic en Aceptar para guardar los cambios y cerrar el cuadro de diálogo Origen de datos.

  8. Haga clic en Aceptar para cerrar el cuadro de diálogo Conjunto de datos.

  9. Copie el texto de la consulta desde el Bloc de notas o el editor utilizado en el procedimiento anterior y péguelo en el panel de consulta. La consulta debería mostrar el siguiente texto:

    <Query>
    <XmlData>
    <Root>
    <S OrderDate="2003-07-01T00:00:00" SalesOrderNumber="SO51131" TotalDue="247913.9138">
      <C FirstName="Shu" LastName="Ito" />
    </S>
    <S OrderDate="2003-10-01T00:00:00" SalesOrderNumber="SO55282" TotalDue="227737.7215">
      <C FirstName="Shu" LastName="Ito" />
    </S>
    <S OrderDate="2002-07-01T00:00:00" SalesOrderNumber="SO46616" TotalDue="207058.3754">
      <C FirstName="Jae" LastName="Pak" />
    </S>
    <S OrderDate="2002-08-01T00:00:00" SalesOrderNumber="SO46981" TotalDue="201490.4144">
      <C FirstName="Ranjit" LastName="Varkey Chudukatil" />
    </S>
    <S OrderDate="2002-09-01T00:00:00" SalesOrderNumber="SO47395" TotalDue="198628.3054">
      <C FirstName="Michael" LastName="Blythe" />
    </S>
    </Root>
    </XmlData>
    </Query>
    
  10. Haga clic en Ejecutar (!) para ver el conjunto de resultados. Tenga en cuenta que la consulta predeterminada para XML selecciona todos los atributos y elementos en la primera ruta de acceso a un nodo hoja.

  11. Especifique los elementos que desea incluir en el conjunto de resultados incorporando una etiqueta ElementPath a la consulta. Pegue el siguiente texto en el panel de consulta después de la etiqueta Query pero antes de la etiqueta XmlData.

    <ElementPath>Root /S  {@OrderDate (Date), @TotalDue (Decimal)} /C {@LastName} </ElementPath>
    

    Esta ruta de acceso al elemento especifica lo siguiente:

    • Para el elemento S, devuelva el atributo OrderDate como un tipo Data y el atributo TotalDue como un tipo Decimal.
    • Para el elemento C, devuelva el atributo LastName (el tipo predeterminado es String).
  12. Haga clic en Ejecutar (!) para ver el conjunto de resultados. Los resultados incluyen ahora sólo los elementos y atributos que especificó en la sección ElementPath. El atributo OrderDate especifica un tipo Date para convertir su valor a DateTime. De forma similar, TotalDue se convierte al formato Decimal.

  13. Haga clic en el botón Actualizar campos (Actualizar campos de conjunto de datos) en la barra de herramientas. De este modo se guarda la definición del informe y se actualiza la vista de los campos en la ventana Conjuntos de datos de informe para mostrar todos los campos que puede utilizar.

Pasos siguientes

Ha definido correctamente un conjunto de datos de informe a partir de datos XML incrustados en la consulta del conjunto de datos. Cuando se procesa el informe, se recuperan los datos de cada elemento Table XML y sus atributos del servicio Web. A continuación, creará un informe que utiliza los conjuntos de datos de las lecciones 1, 2 y 3. Vea Lección 4: Crear un informe que utilice datos XML.

Vea también

Conceptos

Tutoriales de Reporting Services

Otros recursos

Definir conjuntos de datos de informe para datos XML
Conectar con un origen de datos
Definir conjuntos de datos de informe
Cómo crear o editar un origen de datos específico del informe (Diseñador de informes)
Cómo crear un conjunto de datos (Diseñador de informes)
Trabajar con campos en un conjunto de informes
Cómo agregar, editar o eliminar un campo en la ventana Conjuntos de datos (Diseñador de informes)
Conjuntos de datos de informe (Diseñador de informes)
Sintaxis de ruta de acceso de elemento para especificar datos de informe XML

Ayuda e información

Obtener ayuda sobre SQL Server 2005