Leçon 3 : Définition d'un dataset de rapport à partir de données XML incorporées

Nouveau : 17 juillet 2006

Utilisez les étapes suivantes pour apprendre à extraire les données de rapport des données XML incorporées dans la requête de dataset d'une source de données XML Reporting Services. Dans cet exemple, les données XML d'un jeu de résultats de requête SQL provenant de l'exemple de base de données AdventureWorks ont été incorporées dans une requête de dataset. Ce didacticiel apprend aussi à spécifier les nœuds d'élément et les attributs que vous voulez extraire pour le dataset de rapport dans la balise ElementPath de la requête.

Procédures

Pour créer la requête pour le dataset

  1. Ouvrez Microsoft SQL Server Management Studio.

  2. Dans la boîte de dialogue Se connecter au serveur, sélectionnez Moteur de base de données dans la zone Type de serveur.

  3. Dans la zone Nom du serveur, entrez le nom du serveur où vous avez installé l'exemple de base de données AdventureWorks. Par exemple, localhost.

  4. Dans l'Explorateur d'objets, développez le nœud Bases de données.

  5. Cliquez avec le bouton droit sur AdventureWorks, puis choisissez Nouvelle requête.

  6. Collez la requête suivante dans le volet de requête.

    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. Dans le volet de résultats, sélectionnez le résultat xml et copiez-le.

Pour ajouter un nœud racine au XML

  1. Ouvrez le Bloc-Notes ou autre éditeur de votre choix.

  2. Collez le texte XML.

  3. Insérez le code XML suivant avant la première ligne : <Query><XmlData><Root>.

  4. Ajoutez le code XML suivant à la dernière ligne : </Root></XmlData></Query>

    Il s'agit des données XML que vous pouvez utiliser comme données de test.

Pour définir un dataset de rapport pour le service Web

  1. Démarrez le Concepteur de rapports et ouvrez le projet de serveur de rapports créé pour ce didacticiel.

  2. Dans la vue Données, sélectionnez Nouveau dataset. Tapez le nom du dataset (par exemple, XMLEmbeddedDataSet).

  3. Dans la boîte de dialogue Dataset, dans Source de données, sélectionnez Nouvelle source de données. La boîte de dialogue Source de données s'affiche.

  4. Tapez un nom pour la source de données (par exemple, XMLEmbeddedDataSource).

  5. Dans la zone Type, sélectionnez XML.

  6. Laissez la zone Chaîne de connexion vide.

  7. Cliquez sur OK pour enregistrer les modifications et fermer la boîte de dialogue Source de données.

  8. Cliquez sur OK et fermez la boîte de dialogue Dataset.

  9. Dans le Bloc-Notes (ou l'éditeur utilisé dans la précédente procédure), copiez le texte de la requête, puis collez le dans le volet Requête. La requête doit se présenter de la façon suivante :

    <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. Cliquez sur Exécuter (!) pour afficher le jeu de résultats. Notez que la requête par défaut pour XML sélectionne tous les attributs et éléments du premier chemin d'accès à un nœud terminal.

  11. Spécifiez les éléments à inclure dans le jeu de résultats en incluant une balise ElementPath dans la requête. Collez le texte suivant dans le volet Requête après la balise Query mais avant la balise XmlData.

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

    Ce chemin d'élément spécifie les actions suivantes :

    • Pour l'élément S, retourner l'attribut OrderDate en tant que type Date et l'attribut TotalDue en tant que type Decimal.
    • Pour l'élément C, retourner l'attribut LastName (String comme type par défaut).
  12. Cliquez sur Exécuter (!) pour afficher le jeu de résultats. Les résultats n'incluent maintenant que les éléments et attributs que vous avez spécifiés dans la section ElementPath. L'attribut OrderDate spécifie un type Date pour convertir sa valeur en DateTime. De même, l'attribut TotalDue convertit sa valeur au format Decimal.

  13. Cliquez sur le bouton Actualiser les champs (Actualiser les champs du dataset) dans la barre d'outils. Cette opération enregistre la définition de rapports et met à jour la vue des champs dans la fenêtre Datasets du rapport pour afficher tous les champs utilisables.

Étapes suivantes

Vous avez défini avec succès un dataset de rapport à partir de données XML incorporées à la requête de dataset. Lors du traitement du rapport, les données de chaque élément XML Table et ses attributs sont extraits du service Web. Vous allez, ensuite, créer un rapport qui utilise les datasets des leçons 1, 2 et 3. Voir Leçon 4 : Création d'un rapport utilisant les données XML.

Voir aussi

Concepts

Didacticiels de Reporting Services

Autres ressources

Définition de datasets de rapport pour des données XML
Connexion à une source de données
Définition des datasets de rapports
Procédure : créer ou modifier une source de données propre à un rapport (Concepteur de rapports)
Procédure : créer un dataset (Concepteur de rapports)
Utilisation de champs dans un Dataset de rapport
Procédure : ajouter, modifier ou supprimer un champ dans la fenêtre Datasets (Générateur de rapports)
Datasets du rapport (Concepteur de rapports)
Syntaxe du chemin d'accès à l'élément pour la spécification de données de rapport XML

Aide et Informations

Assistance sur SQL Server 2005