Lezione 3: Definizione di un set di dati del report da dati XML incorporati
Data creazione: 17 luglio 2006
Nelle procedure seguenti viene descritto come recuperare i dati di un report da dati XML incorporati nella query del set di dati di un'origine dei dati XML di Reporting Services. In questo esempio i dati XML del set di risultati della query SQL del database di esempio AdventureWorks sono stati incorporati in una query del set di dati. In questa esercitazione vengono inoltre descritte le procedure per specificare gli attributi e i nodi dell'elemento che si desidera recuperare per il set di dati del report nel tag ElementPath della query.
Procedure
Per creare la query per il set di dati
Aprire Microsoft SQL Server Management Studio.
Nella finestra di dialogo Connetti al server scegliere Motore di database in Tipo server.
In Nome server immettere il nome del server in cui è installato il database di esempio AdventureWorks, ad esempio localhost.
In Esplora oggetti espandere il nodo Database.
Fare clic con il pulsante destro del mouse su AdventureWorks e quindi scegliere Nuova query.
Nel riquadro delle query incollare la query seguente.
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
Nel riquadro dei risultati selezionare il risultato XML e copiarlo.
Per aggiungere un nodo principale al testo XML
Aprire il Blocco note o un altro editor di testo.
Incollare il testo XML.
Inserire il testo XML seguente davanti alla prima riga:
<Query><XmlData><Root>
.Aggiungere il testo XML seguente all'ultima riga:
</Root></XmlData></Query>
Questi sono i dati XML che è possibile utilizzare per i dati di prova.
Per definire un set di dati del report per il servizio Web
Avviare Progettazione report e aprire il progetto Server report creato per questa esercitazione.
Nella visualizzazione Dati selezionare Nuovo set di dati. Digitare un nome per il set di dati, ad esempio XMLEmbeddedDataSet.
Nella finestra di dialogo Set di dati selezionare Nuova origine dati in Origine dati. Verrà visualizzata la finestra di dialogo Origine dati.
Digitare un nome per l'origine dei dati, ad esempio XMLEmbeddedDataSource.
In Tipo selezionare XML.
Non specificare alcun valore in Stringa di connessione.
Fare clic su OK per salvare le modifiche e chiudere la finestra di dialogo Origine dati.
Fare clic su OK e chiudere la finestra di dialogo Set di dati.
Nel Blocco note o nell'editor di testo utilizzato nella procedura precedente copiare il testo della query e incollarlo nel riquadro delle query. La query dovrebbe avere la sintassi seguente:
<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>
Fare clic su Esegui (!) per visualizzare il set dei risultati. Si noti che la query predefinita per XML seleziona tutti gli attributi e gli elementi nel primo percorso a un nodo foglia.
Specificare gli elementi da includere nel set di risultati inserendo un tag ElementPath nella query. Incollare il testo seguente nel riquadro delle query dopo il tag Query ma prima del tag XmlData.
<ElementPath>Root /S {@OrderDate (Date), @TotalDue (Decimal)} /C {@LastName} </ElementPath>
Questo percorso di elemento specifica quanto segue:
- Per l'elemento S restituire l'attributo OrderDate come un tipo date e l'attributo TotalDue come un tipo decimal.
- Per l'elemento C restituire l'attributo LastName (il tipo predefinito è string).
Fare clic su Esegui (!) per visualizzare il set dei risultati. I risultati includono ora solo gli elementi e gli attributi specificati nella sezione ElementPath. L'attributo OrderDate specifica un tipo Date per convertire il valore corrispondente in DateTime. In modo analogo, TotalDue viene convertito in formato Decimal.
Fare clic sul pulsante Aggiorna campi () sulla barra degli strumenti. In questo modo la definizione del report verrà salvata e verrà aggiornata la visualizzazione dei campi nella finestra Set di dati del report allo scopo di mostrare tutti i campi che è possibile utilizzare.
Passaggi successivi
In questo modo è stato definito un set di dati del report da dati XML incorporati nella query del set di dati. Quando il report viene elaborato, i dati di ogni elemento Table XML e i relativi attributi vengono recuperati dal servizio Web. Il passaggio successivo consiste nel creare un report che utilizza i set di dati delle lezioni 1, 2 e 3. Vedere Lezione 4: Creazione di un report che utilizza dati XML.
Vedere anche
Concetti
Esercitazioni di Reporting Services
Altre risorse
Definizione di set di dati del report per i dati XML
Connessione a un'origine dei dati
Definizione di set di dati del report
Procedura: Creazione o modifica di un'origine dei dati specifica del report (Progettazione report)
Procedura: Creazione di un set di dati (Progettazione report)
Utilizzo dei campi di un set di dati del report
Procedura: Aggiunta, modifica o eliminazione di un campo nella finestra Set di dati (Progettazione report)
Set di dati del report (Progettazione report)
Sintassi dei percorsi di elementi per la definizione di dati di report XML