Generazione di feed di dati dai report (Generatore report 3.0 e SSRS)
L'estensione per il rendering Atom di Reporting Services consente di generare un documento di servizio Atom in cui sono elencati i feed di dati disponibili in un report e i feed di dati delle aree dati di un report. Questa estensione viene utilizzata per generare feed di dati conformi ad Atom, leggibili e scambiabili con applicazioni che possono utilizzare i feed di dati generati dai report. Ad esempio è possibile utilizzare l'estensione per il rendering Atom per generare feed di dati che, in seguito, possono essere utilizzati nel client SQL Server 2008 R2 PowerPivot.
Il documento di servizio Atom elenca almeno un feed di dati per ogni area dati in un report. A seconda del tipo di area e dei dati in essa visualizzati, Reporting Services potrebbe generare più feed di dati da un'area. Ad esempio una matrice o un grafico può fornire più feed di dati. Quando l'estensione per il rendering Atom crea il documento di servizio Atom, viene generato un identificatore univoco per ogni feed di dati che può essere utilizzato nell'URL per accedere al contenuto del feed di dati.
Il modo in cui l'estensione per il rendering Atom genera i dati per un relativo feed è simile al modo in cui l'estensione per il rendering CSV (Comma-Separated Value, file delimitato da virgole) esegue il rendering dei dati in un file CSV. Come per quest'ultimo tipo di file, un feed di dati è una rappresentazione bidimensionale dei dati del report. Ad esempio, in una tabella con un gruppo di righe che somma le vendite all'interno di un gruppo, la somma viene ripetuta in ogni riga di dati e nessuna riga contiene solo la somma.
È possibile generare documenti di servizio Atom e feed di dati utilizzando Gestione report, Server di report o un sito di SharePoint integrato con Reporting Services.
Atom può essere applicato ad alcuni standard correlati. Il documento di servizio Atom è conforme alla specifica del protocollo di pubblicazione Atom RFC 5023 mentre i feed di dati sono conformi alla specifica del protocollo Atom syndication format RFC 4287.
Nelle sezioni seguenti vengono fornite ulteriori informazioni sull'utilizzo dell'estensione per il rendering Atom:
È possibile creare e modificare definizioni del report (con estensione rdl) in Generatore report 3.0 e in Progettazione report di Business Intelligence Development Studio. Ogni ambiente di creazione offre modalità differenti per creare, aprire e salvare report ed elementi correlati. Per ulteriori informazioni, vedere Progettazione di report tramite Progettazione report e Generatore report 3.0 (SSRS) nel Web all'indirizzo microsoft.com.
Contenuto dell'articolo
Dati del report come feed di dati
Documento di servizio Atom
Feed di dati
Rendere bidimensionali i dati del report
Regole di rendering Atom
Impostazioni relative alle informazioni sul dispositivo
Report come feed di dati
È possibile esportare un report di produzione come un feed di dati oppure creare un report il cui scopo principale è quello di fornire dati alle applicazioni, sotto forma di feed di dati. L'utilizzo dei report come feed di dati rappresenta un ulteriore modo per fornire dati alle applicazioni quando i dati non sono facilmente accessibili tramite i provider di dati client o quando si preferisce nascondere la complessità dell'origine dati e rendere più semplice l'utilizzo dei dati. Se si utilizzano i dati del report come feed di dati è inoltre possibile avvalersi delle caratteristiche di Reporting Services, ad esempio Gestione report, sicurezza, pianificazione e snapshot del report per gestire i report che forniscono i feed di dati.
Per ottenere il massimo dall'estensione per il rendering Atom, è necessario capire il modo in cui viene eseguito il rendering del report in feed di dati. Se si utilizzano report esistenti, risulta utile essere in grado di stimare i feed di dati che saranno generati dai report, mentre se i report vengono scritti per essere specificatamente utilizzati come feed di dati, la possibilità di includere i dati e ottimizzare il layout del report per aumentare l'utilità dei feed di dati risulta vantaggiosa.
Per ulteriori informazioni, vedere Procedura: Generazione di feed di dati da un report (Generatore report 3.0 e SSRS).
Torna all'inizio
Documento di servizio Atom (file con estensione atomsvc)
Un documento di servizio Atom specifica una connessione a uno o più feed di dati. La connessione è almeno un semplice URL del servizio dati che produce il feed.
Quando si esegue il rendering dei dati del report tramite l'estensione per il rendering Atom, nel documento di servizio Atom sono elencati i feed di dati disponibili per un report. Il documento elenca almeno un feed di dati per ogni area dati nel report. Tabelle e contatori generano solo un feed di dati ognuno, mentre matrici, elenchi e grafici potrebbero generarne di più a seconda dei dati che visualizzano.
Nel diagramma seguente viene mostrato un report che utilizza due tabelle e un grafico.
Il documento di servizio Atom generato da questo report include tre feed di dati, uno per ogni tabella e uno per il grafico.
Le aree dati della matrice potrebbero disporre di più di un feed di dati, a seconda della struttura della matrice. Nel diagramma seguente viene mostrato un report che utilizza una matrice che genera due feed di dati.
Il documento di servizio Atom generato da questo report include due feed di dati, uno per ogni colonna peer dinamica: territorio e anno. Nel diagramma seguente viene mostrato il contenuto di ogni feed di dati.
Torna all'inizio
Feed di dati
Il feed di dati è un file XML che dispone di un formato tabulare coerente che non cambia nel tempo e di dati variabili che possono essere diversi ogni volta che viene eseguito il report. Il formato dei feed di dati generati da Reporting Services è uguale a quello dei dati generati da ADO.NET Data Services.
Un feed di dati contiene due sezioni: intestazione e dati. La specifica Atom definisce gli elementi di ogni sezione. L'intestazione include informazioni quali lo schema di codifica dei caratteri da utilizzare con i feed di dati.
Sezione di intestazione
Nel seguente codice XML viene mostrata la sezione di intestazione di un feed di dati.
<?xml version="1.0" encoding="utf-8" standalone="yes"?><feed xmlns:d="https://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="https://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="http://www.w3.org/2005/Atom">
<title type="text"></title>
<id>uuid:1795992c-a6f3-40ec-9243-fbfd0b1a5be3;id=166321</id>
<updated>2009-05-08T23:09:58Z</updated>
Sezione di dati
La sezione di dati dei feed di dati contiene un elemento <entry> per ogni riga nel set di righe bidimensionale generato dall'estensione per il rendering Atom.
Nel diagramma seguente viene mostrato un report che utilizza gruppi e totali.
Nel seguente codice XML viene mostrato un elemento <entry> del report specifico di un feed di dati. Si noti che l'elemento <entry> include i totali delle vendite e degli ordini per il gruppo, nonché i totali delle vendite e degli ordini per tutti i gruppi. L'elemento <entry> include tutti i valori sul report.
<entry><id>uuid:1795992c-a6f3-40ec-9243-fbfd0b1a5be3;id=166322</id><title type="text"></title><updated>2009-05-08T23:09:58Z</updated><author /><content type="application/xml"><m:properties>
<d:ProductCategory_Value>Accessories</d:ProductCategory_Value>
<d:OrderYear_Value m:type="Edm.Int32">2001</d:OrderYear_Value>
<d:SumLineTotal_Value m:type="Edm.Decimal">20235.364608</d:SumLineTotal_Value>
<d:SumOrderQty_Value m:type="Edm.Int32">1003</d:SumOrderQty_Value>
<d:SumLineTotal_Total_2_1 m:type="Edm.Decimal">1272072.883926</d:SumLineTotal_Total_2_1>
<d:SumOrderQty_Total_2_1 m:type="Edm.Double">61932</d:SumOrderQty_Total_2_1>
<d:SumLineTotal_Total_2_2 m:type="Edm.Decimal">109846381.399888</d:SumLineTotal_Total_2_2>
<d:SumOrderQty_Total_2_2 m:type="Edm.Double">274914</d:SumOrderQty_Total_2_2></m:properties></content>
</entry>
Utilizzo dei feed di dati
Tutti i feed di dati generati dal report includono gli elementi del report che si trovano nell'ambito dell'elemento padre dell'area dati che genera i feed di dati. . Immaginare un report che dispone di diverse tabelle e di un grafico. Le caselle di testo nel corpo del report forniscono il testo descrittivo di ogni area dati. Ogni voce di ciascun feed di dati generato dal report include il valore della casella di testo. Ad esempio se il testo è "Il grafico visualizza le medie delle vendite mensili per area di vendita", tutti e tre i feed di dati includono questo testo in ogni riga.
Se il layout del report include le relazioni di dati gerarchiche, ad esempio le aree dati nidificate, tali relazioni sono incluse nel set di righe bidimensionale dei dati del report.
Le righe di dati per le aree dati nidificate sono generalmente ampie, specialmente se le tabelle e le matrici nidificate includono gruppi e totali. Potrebbe essere utile esportare il report in un feed di dati e visualizzare quest'ultimo per verificare che i dati generati siano quelli previsti.
Quando l'estensione per il rendering Atom crea il documento di servizio Atom, viene generato un identificatore univoco per il feed di dati che può essere utilizzato nell'URL per visualizzare il contenuto del feed di dati. Il documento di servizio Atom di esempio, mostrato in precedenza, include l'URL https://ServerName/ReportServer?%2fRiepilogo+Vendite+Prodotto&rs%3aCommand=Render&rs%3aFormat=ATOM&rc%3aDataFeed=xAx0x1". L'URL identifica il report (Product Sales Summary), il formato di rendering Atom (ATOM) e il nome del feed di dati (xAx0x1).
I nomi degli elementi del report vengono impostati in modo predefinito sui nomi degli elementi del linguaggio RDL degli elementi del report e, spesso, non sono intuitivi o facili da ricordare. Ad esempio, il nome predefinito della prima matrice presente in un report è Tablix 1. I feed di dati utilizzano questi nomi.
Per rendere più semplice l'utilizzo del feed di dati, è possibile sfruttare la proprietà DataElementName dell'area dati per fornire nomi descrittivi. Se si fornisce un valore per DataElementName, il sottoelemento del feed di dati <d> lo utilizzerà al posto del nome dell'area dati predefinito. Ad esempio se il nome predefinito di un'area dati è Tablix1 e per DataElementName viene impostato SalesByTerritoryYear, il sottoelemento <d> nel feed di dati utilizza SalesByTerritoryYear. Se le aree dati dispongono di due feed di dati come il report matrice descritto in precedenza, i nomi utilizzati nei feed di dati sono SalesByTerritoryYear _Territory e SalesByTerritoryYear _Year.
Se si confrontano i dati mostrati nel report e i dati del feed di dati, è possibile notare alcune differenze. I report spesso mostrano dati numerici formattati e relativi all'ora/data, mentre il feed di dati contiene dati non formattati.
Un feed di dati viene salvato con l'estensione di file atom. Per visualizzare la struttura e il contenuto del file, è possibile utilizzare un editor di testo o XML, ad esempio il Blocco note o l'editor XML.
Torna all'inizio
Rendere bidimensionali i dati del report
Il renderer Atom fornisce dati del report come i set di righe bidimensionali in un formato XML. Le regole per rendere bidimensionali le tabelle di dati sono uguali a quelle del renderer CSV con alcune eccezioni:
Gli elementi dell'ambito sono resi bidimensionali a livello di dettaglio. A differenza del renderer CSV, le caselle di testo del livello principale vengono visualizzate in ogni voce scritta nel feed di dati.
I valori dei parametri del report vengono sottoposti a rendering in ogni riga dell'output.
Per poter essere rappresentati nel formato conforme ad Atom, i dati gerarchici e raggruppati devono essere bidimensionali. L'estensione per il rendering rende bidimensionale il report in una struttura ad albero che rappresenta i gruppi nidificati all'interno dell'area dati. Per rendere bidimensionale il report:
Una gerarchia di righe viene resa bidimensionale prima di una gerarchia di colonne.
Il rendering dei membri della gerarchia di righe nel feed di dati viene eseguito prima di quello dei membri della gerarchia di colonne.
Le colonne vengono ordinate nel modo seguente: caselle di testo presenti nel corpo da sinistra verso destra e quindi dall'alto verso il basso seguite dalle aree dati da sinistra verso destra e quindi dall'alto verso il basso.
All'interno di un'area dati le colonne vengono ordinate nel modo seguente: membri di angolo, membri della gerarchia delle righe, membri della gerarchia delle colonne e quindi le celle.
Le aree dati di pari livello sono aree dati o gruppi dinamici che condividono un'area dati o un predecessore dinamico comune. I dati di pari livello sono identificabili dalle diramazioni della struttura ad albero bidimensionale.
Per ulteriori informazioni, vedere Tabelle, matrici ed elenchi (Generatore report 3.0 e SSRS).
Torna all'inizio
Regole di rendering Atom
L'estensione per il rendering Atom ignora le informazioni seguenti quando si esegue il rendering di un feed di dati:
Formattazione e layout
Intestazione di pagina
Piè di pagina
Elementi dei report personalizzati
Rettangoli
Linee
Immagini
Subtotali automatici
Gli elementi rimanenti del report vengono ordinati dall'alto verso il basso, quindi da sinistra a destra. Viene quindi eseguito il rendering di ogni elemento in una colonna. Se il report include elementi di dati nidificati, ad esempio elenchi o tabelle, gli elementi padre vengono ripetuti in ogni riga.
Nella seguente tabella è indicato l'aspetto degli elementi del report di cui è stato eseguito il rendering:
Elemento |
Tipo di rendering |
---|---|
Tabella |
Il rendering viene eseguito mediante l'espansione della tabella e la creazione di una riga e una colonna per ogni riga e colonna al livello di dettaglio inferiore. Per le righe e le colonne di subtotali non sono disponibili intestazioni. I report drill-through non sono supportati. |
Matrice |
Il rendering viene eseguito mediante l'espansione della matrice e la creazione di una riga e una colonna per ogni riga e colonna al livello di dettaglio inferiore. Per le righe e le colonne di subtotali non sono disponibili intestazioni. |
Elenco |
Viene eseguito il rendering di un record per ogni riga di dettagli o istanza nell'elenco. |
Sottoreport |
L'elemento padre viene ripetuto per ogni istanza del contenuto. |
Grafico |
Viene eseguito il rendering di un record con tutte le etichette del grafico per ogni valore del grafico. Le etichette delle serie e delle categorie nelle gerarchie sono rese bidimensionali e incluse nella riga per un valore del grafico. |
Barra dei dati |
Viene eseguito il rendering come grafico. In genere, in una barra dei dati non sono incluse gerarchie o etichette. |
Grafico sparkline |
Viene eseguito il rendering come grafico. In genere, in un grafico sparkline non sono incluse gerarchie o etichette. |
Contatore |
Viene eseguito il rendering come un record singolo con i valori minimo e massimo della scala lineare, i valori iniziale e finale dell'intervallo e il valore del puntatore. |
Indicatore |
Viene eseguito il rendering come un singolo record con il nome di stato attivo, gli stati disponibili e il valore dei dati. |
Mappa |
Viene generato un feed di dati per ogni area dati mappa. Se più livelli della mappa utilizzano la stessa area dati, vengono inclusi tutti nel feed di dati. Il feed di dati include un record con le etichette e i valori per ogni membro della mappa del livello mappa. |
Torna all'inizio
Impostazioni relative alle informazioni sul dispositivo
È possibile modificare alcune impostazioni predefinite per questo renderer, incluso lo schema di codifica da utilizzare. Per ulteriori informazioni, vedere Impostazioni relative alle informazioni sul dispositivo ATOM.
Torna all'inizio