Lektion 3: Definieren eines Berichtsdatasets aus eingebetteten XML-Daten

Neu: 17. Juli 2006

Führen Sie die folgenden Schritte aus, um zu lernen, wie Sie Berichtsdaten aus XML-Daten abrufen können, die in der Datasetabfrage für eine Reporting Services-XML-Datenquelle eingebettet sind. In diesem Beispiel wurden XML-Daten für ein SQL-Abfrageresultset aus der AdventureWorks-Beispieldatenbank in eine Datasetabfrage eingebettet. In diesem Lernprogramm wird auch erläutert, wie die Elementknoten und Attribute angegeben werden, die Sie für das Berichtsdataset im ElementPath-Tag der Abfrage abrufen möchten.

Prozeduren

So erstellen Sie eine Abfrage für das Dataset

  1. Öffnen Sie Microsoft SQL Server Management Studio.

  2. Wählen Sie im Dialogfeld Verbindung mit Server herstellen unter Servertyp den Typ Datenbankmodul aus.

  3. Geben Sie im Feld Servername den Namen des Servers ein, auf dem die AdventureWorks-Beispieldatenbank installiert ist. Beispiel: localhost.

  4. Erweitern Sie im Objekt-Explorer den Knoten Datenbanken.

  5. Klicken Sie mit der rechten Maustaste auf AdventureWorks, und wählen Sie Neue Abfrage aus.

  6. Fügen Sie folgende Abfrage in den Abfragebereich ein.

    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. Wählen Sie im Ergebnisbereich das XML-Ergebnis aus, und kopieren Sie es.

So fügen Sie dem XML-Code einen Stammknoten hinzu

  1. Öffnen Sie Editor oder einen XML-Editor Ihrer Wahl.

  2. Fügen Sie den XML-Text ein.

  3. Fügen Sie vor der ersten Zeile folgenden XML-Code ein: <Query><XmlData><Root>.

  4. Fügen Sie der letzten Zeile folgenden XML-Code hinzu: </Root></XmlData></Query>

    Dies sind die XML-Daten, die Sie für Testdaten verwenden können.

So definieren Sie ein Berichtsdataset für den Webdienst

  1. Starten Sie den Berichts-Designer, und öffnen Sie das für dieses Lernprogramm erstellte Berichtsserverprojekt.

  2. Wählen Sie in der Datenansicht die Option Neues Dataset aus. Geben Sie einen Namen für das Dataset ein (z. B. XMLEmbeddedDataSet).

  3. Wählen Sie im Dialogfeld Dataset in Datenquelle die Option Neue Datenquelle aus. Das Dialogfeld Datenquelle wird angezeigt.

  4. Geben Sie einen Namen für die Datenquelle ein (z. B. XMLEmbeddedDataSource).

  5. Wählen Sie in Typ die Option XML aus.

  6. Lassen Sie die Verbindungszeichenfolge leer.

  7. Klicken Sie auf OK, um die Änderungen zu speichern, und schließen Sie das Dialogfeld Datenquelle.

  8. Klicken Sie auf OK, und schließen Sie das Dialogfeld Dataset.

  9. Kopieren Sie den Abfragetext aus Editor oder dem für die vorherige Prozedur verwendeten XML-Editor, und fügen Sie den Abfragetext in den Abfragebereich ein. Die Abfrage sollte so wie der folgende Text aussehen:

    <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. Klicken Sie auf Ausführen (!), um das Resultset anzuzeigen. Beachten Sie, dass in der Standardabfrage für XML alle Attribute und Elemente im ersten Pfad zu einem Endknoten ausgewählt werden.

  11. Geben Sie an, welche Elemente in das Resultset einbezogen werden sollen, indem Sie ein ElementPath-Tag in die Abfrage aufnehmen. Fügen Sie folgenden Text im Abfragebereich hinter dem Query-Tag und vor dem XmlData-Tag ein.

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

    Mit diesem Elementpfad wird Folgendes angegeben:

    • Für das S-Element soll das OrderDate-Attribut als ein Date-Typ und das TotalDue-Attribut als ein Decimal-Typ zurückgegeben werden.
    • Für das C-Element soll das LastName-Attribut zurückgegeben werden (Standardtyp ist String).
  12. Klicken Sie auf Ausführen (!), um das Resultset anzuzeigen. In den Ergebnissen sind nun ausschließlich die Elemente und Attribute enthalten, die Sie im Abschnitt ElementPath angegeben haben. Mit dem OrderDate-Attribut wird ein Date-Typ angegeben, um den Wert des Attributs in DateTime zu konvertieren. Auf gleiche Weise wird TotalDue in ein Decimal-Format konvertiert.

  13. Klicken Sie auf der Symbolleiste auf die Schaltfläche Felder aktualisieren (Aktualisieren der Datasetfelder). Hierdurch wird die Berichtsdefinition gespeichert und die Ansicht der Felder im Fenster Berichtsdataset aktualisiert, sodass nun alle Felder angezeigt werden, die Sie verwenden können.

Nächste Schritte

Sie haben erfolgreich ein Berichtsdataset aus XML-Daten definiert, die in die Datasetabfrage eingebettet sind. Bei der Verarbeitung des Berichts werden die Daten der einzelnen XML-Tabellenelemente und ihrer zugehörigen Attribute vom Webdienst abgerufen. Im Anschluss erstellen Sie einen Bericht, für den die Datasets in den Lektionen 1, 2 und 3 verwendet werden. Siehe Lektion 4: Erstellen eines Berichts mit XML-Daten.

Siehe auch

Konzepte

Reporting Services-Lernprogramme

Andere Ressourcen

Definieren von Berichtsdatasets für XML-Daten
Herstellen einer Verbindung mit einer Datenquelle
Definieren von Berichtsdatasets
Vorgehensweise: Erstellen oder Bearbeiten einer berichtsspezifischen Datenquelle (Berichts-Designer)
Vorgehensweise: Erstellen eines Datasets (Berichts-Designer)
Arbeiten mit Feldern in einem Berichtsdataset
Vorgehensweise: Hinzufügen, Bearbeiten oder Löschen eines Feldes im Fenster Datasets (Berichts-Designer)
Berichtsdatasets (Berichts-Designer)
Syntax für Elementpfade zum Angeben von XML-Berichtsdaten

Hilfe und Informationen

Informationsquellen für SQL Server 2005