Generazione di feed di dati dai report (Generatore report e SSRS)Generating Data Feeds from Reports (Report Builder and SSRS)

L'estensione per il rendering Atom di Reporting ServicesReporting Services consente di generare un documento di servizio Atom in cui sono elencati i feed di dati disponibili in un report impaginato e i feed di dati delle aree dati di un report.The Reporting ServicesReporting Services Atom rendering extension generates an Atom service document that lists the data feeds available from a paginated report and the data feeds from the data regions in a report. Questa estensione viene usata per generare feed di dati conformi ad Atom, leggibili e scambiabili con applicazioni che possono usare i feed di dati generati dai report.You use this extension to generate Atom-compliant data feeds that are readable and exchangeable with applications that can consume data feeds generated from reports. Ad esempio, è possibile utilizzare l'estensione per il rendering Atom per generare feed di dati che è quindi possibile usare in Power Pivot o Power BI.For example, you can use the Atom rendering extension to generated data feeds that you can then use in Power Pivot or Power BI.

Il documento di servizio Atom elenca almeno un feed di dati per ogni area dati in un report.The Atom service document lists at least one data feed for each data region in a report. A seconda del tipo di area dati e dei dati in essa visualizzati, Reporting ServicesReporting Services potrebbe generare più feed di dati da un'area dati.Depending on the type of data region and the data that the data region displays, Reporting ServicesReporting Services might generate multiple data feeds from a data region. Ad esempio una matrice o un grafico può fornire più feed di dati.For example, a matrix or chart can provide multiple data feeds. 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 usato nell'URL per accedere al contenuto del feed di dati.When the Atom rendering extension creates the Atom service document, a unique identifier is created for each data feed and you use the identifier in the URL to access the content of the data feed.

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.The way that the Atom rendering extension generates data for a data feed is similar to how the Comma-Separated Value (CSV) rendering extension renders data to a CSV file. Come per quest'ultimo tipo di file, un feed di dati è una rappresentazione bidimensionale dei dati del report.Like a CSV file, a data feed is a flattened representation of the report data. Ad esempio una tabella con un gruppo di righe che somma le vendite all'interno di un gruppo, ripete la somma in ogni riga di dati e non vi è alcuna riga separata che contiene solo la somma.For example, a table with a row group that sums the sales within a group repeats the sum in every data row and there is no separate row that contains only the sum.

È possibile generare documenti di servizio Atom e feed di dati usando il portale Web di Reporting ServicesReporting Services , Server di report o un sito di SharePoint integrato con Reporting ServicesReporting Services.You can generate Atom service documents and data feeds using the Reporting ServicesReporting Services web portal, Report Server, or a SharePoint site that is integrated with Reporting ServicesReporting Services.

Atom può essere applicato ad alcuni standard correlati.Atom applies to a pair of related standards. 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 del formato di diffusione Atom RFC 4287.The Atom service document conforms to the RFC 5023 Atom publishing protocol specification and the data feeds conform to the RFC 4287 Atom syndication format protocol specification.

Nelle sezioni seguenti vengono fornite ulteriori informazioni sull'utilizzo dell'estensione per il rendering Atom:The following sections provide additional information about how to use the Atom rendering extension:

È possibile creare e modificare file di definizioni report impaginati (con estensione rdl) in Generatore report e in Progettazione report di SQL Server Data Tools.You can create and modify paginated report definition (.rdl) files in Report Builder and in Report Designer in SQL Server Data Tools. Ogni ambiente di creazione offre modalità differenti per creare, aprire e salvare report ed elementi correlati.Each authoring environment provides different ways to create, open, and save reports and related items.

Report come feed di dati Reports as Data Feeds

È 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.You can export a production report as a data feed or you can create a report whose primary purpose is provide data, in the form of data feeds, to applications. 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.Using reports as a data feed gives you an additional way to provide data to applications when the data is not easy to access through client data providers, or when you prefer to hide the complexity of the data source and make it simpler to use the data. Se si usano i dati del report come feed di dati è inoltre possibile avvalersi delle caratteristiche di Reporting ServicesReporting Services , ad esempio sicurezza, pianificazione e snapshot del report per gestire i report che forniscono i feed di dati.Another benefit of using report data as a data feed is that you can use Reporting ServicesReporting Services features such as security, scheduling, and report snapshots to manage the reports that provide data feeds.

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.To get the most from the Atom rendering extension, you should understand how the report is rendered into data feeds. Se si usano 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 usati 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.If you are using existing reports, being able to predict what the data feeds the reports will generate is useful; if you are writing report specifically for use as data feeds, being able to include the data and fine tune the report layout to maximize the usefulness of the data feeds is valuable.

Per altre informazioni, vedere Generare i feed di dati da un report (Generatore report e SSRS).For more information, see Generate Data Feeds from a Report (Report Builder and SSRS).

Documento di servizio Atom (file con estensione atomsvc) Atom Service Document (.atomsvc file)

Un documento di servizio Atom specifica una connessione a uno o più feed di dati.An Atom service document specifies a connection to one or more data feeds. La connessione è almeno un semplice URL del servizio dati che produce il feed.At a minimum, the connection is a simple URL to the data service that produces the feed.

Quando si esegue il rendering dei dati del report tramite l'estensione per il rendering Atom, il documento di servizio Atom elenca i feed di dati disponibili per un report.When you render report data by using the Atom rendering extension, the Atom service document lists the data feeds available for a report. Nel documento è elencato almeno un feed di dati per ogni area dati nel report.The document lists at least one data feed for each data region in the report. Tabelle e misuratori generano solo un feed di dati ognuno, mentre matrici, elenchi e grafici potrebbero generarne di più a seconda dei dati che visualizzano.Tables and gauges generate only one data feed each, but matrices, lists, and charts might generated multiple depending on the data they display.

Nel diagramma seguente viene mostrato un report che usa due tabelle e un grafico.The following diagram shows a report that uses two tables and a chart.

RS_Atom_TableAndChartDataFeedsRS_Atom_TableAndChartDataFeeds

Il documento di servizio Atom generato da questo report include tre feed di dati, uno per ogni tabella e uno per il grafico.The Atom service document generated from this report includes three data feeds, one for each table and one for the chart.

Le aree dati della matrice potrebbero disporre di più di un feed di dati, a seconda della struttura della matrice.The matrix data regions might have more than one data feed, depending on the structure of the matrix. Nel diagramma seguente viene mostrato un report che usa una matrice che genera due feed di dati.The following diagram shows a report that uses a matrix that generates two data feeds.

RS_Atom_PeerDynamicColumnsRS_Atom_PeerDynamicColumns

Il documento di servizio Atom generato da questo report include due feed di dati, uno per ogni colonna peer dinamica: territorio e anno.The Atom service document generated from this report includes two data feeds, one for each of the dynamic peer columns: Territory and Year. Nel diagramma seguente viene mostrato il contenuto di ogni feed di dati.The following diagram shows the content of each data feed.

RS_Atom_PeerDynamicDataFeedsRS_Atom_PeerDynamicDataFeeds

Feed di dati Data Feeds

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.The data feed is an XML file that has a consistent tabular format that does not change over time and variable data that can be different each time the report is run. Il formato dei feed di dati generati da Reporting ServicesReporting Services è uguale a quello dei dati generati da ADO.NET Data Services.The data feeds generated by Reporting ServicesReporting Services are in the same format as those generated by that ADO.NET Data Services.

Un feed di dati contiene due sezioni: intestazione e dati.A data feed contains two sections: header and data. La specifica Atom definisce gli elementi di ogni sezione.The Atom specification defines the elements in each section. L'intestazione include informazioni quali lo schema di codifica dei caratteri da usare con i feed di dati.The header includes information such as the character encoding schema to use with the data feeds.

Sezione di intestazioneHeader Section

Nel seguente codice XML viene mostrata la sezione di intestazione di un feed di dati.The following XML code shows the header section of a data feed.

<?xml version="1.0" encoding="utf-8" standalone="yes"?><feed xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://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 datiData Section

La sezione di dati dei feed di dati contiene uno < voce> elemento per ogni riga nel set di righe bidimensionale generato dall'estensione per il rendering Atom.The data section of the data feeds contains one <entry> element for each row in the flattened rowset generated by the Atom rendering extension.

Nel diagramma seguente viene mostrato un report che usa gruppi e totali.The following diagram shows a report that uses groups and totals.

RS_Atom_ProductSalesSummaryCircledValuesRS_Atom_ProductSalesSummaryCircledValues

Il codice XML seguente viene illustrato un < voce> dell'elemento del report specifico di un feed di dati.The following XML shows an <entry> element from that report in a data feed. Si noti che il < voce> elemento include i totali delle vendite e gli ordini per il gruppo e i totali delle vendite e degli ordini per tutti i gruppi.Notice that the <entry> element includes the totals of the sales and orders for the group and the totals of sales and orders for all the groups. Il < voce> elemento include tutti i valori nel report.The <entry> element includes all values on the 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 datiWorking with Data Feeds

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.All data feeds generated by the report include the report items that are in scope of the parent of the data region that generate the data feeds. .. Immaginare un report che dispone di diverse tabelle e di un grafico.Imagine a report that has several tables and a chart. Le caselle di testo nel corpo del report forniscono il testo descrittivo di ogni area dati.Text boxes in the report body provides descriptive text of each data region. Ogni voce di ciascun feed di dati generato dal report include il valore della casella di testo.Every entry in every data feed that the report generates includes the value of the text box. 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.For example, if the text is "Chart displays monthly sales averages by sales region", all three data feeds would include this text on each row.

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.If the report layout includes hierarchical data relationships, such as nested data regions, those relationships are included in the flattened rowset of report data.

Le righe di dati per le aree dati nidificate sono generalmente ampie, specialmente se le tabelle e le matrici nidificate includono gruppi e totali.The data rows for nested data regions are typically wide, especially if the nested tables and matrices include groups and totals. Potrebbe essere utile esportare il report in un feed di dati e visualizzare quest'ultimo per verificare che i dati generati siano quelli previsti.You might find it useful to export the report to a data feed and view the data feed to verify that the data generated is what you expected.

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 usato nell'URL per visualizzare il contenuto del feed di dati.When the Atom rendering extension creates the Atom service document, a unique identifier is created for the data feed and you use the identifier in the URL to view the content of the data feed. Il documento di servizio Atom di esempio, illustrato in precedenza, include l'URL http://ServerName/ReportServer?%2fProduct+Sales+Summary&rs%3aCommand=Render&rs%3aFormat=ATOM&rc%3aDataFeed=xAx0x1.The sample Atom service document, shown above, includes the URL http://ServerName/ReportServer?%2fProduct+Sales+Summary&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).The URL identifies the report (Product Sales Summary), the Atom rendering format (ATOM), and the name of the data feed (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.Report item names default to the report definition language (RDL) element names of the report items and often they are not intuitive or easy to remember. Ad esempio, il nome predefinito della prima matrice presente in un report è Tablix 1.For example, the default name of the first matrix placed in a report is Tablix 1. I feed di dati usano questi nomi.The data feeds use these names.

Per rendere più semplice l'uso del feed di dati, è possibile sfruttare la proprietà DataElementName dell'area dati per fornire nomi descrittivi.To make the data feed easier to work with, you can use the DataElementName property of the data region to provide friendly names. Se si specifica un valore per DataElementName sottoelemento del feed di dati < d> verrà utilizzato, anziché il nome predefinito dell'area dati.If you provide a value for DataElementName the data feed subelement <d> will use is it instead of the default data region name. Ad esempio, se il nome predefinito di un area dati è Tablix1 e DataElementName impostato SalesByTerritoryYear il < d> nei dati feed utilizza SalesByTerritoryYear.For example, if the default name of a data regions is Tablix1 and DataElementName set SalesByTerritoryYear then the <d> in the data feed uses SalesByTerritoryYear. Se le aree dati dispongono di due feed di dati come il report matrice descritto in precedenza, i nomi usati nei feed di dati sono SalesByTerritoryYear _Territory e SalesByTerritoryYear _Year.If the data regions has two data feeds like the matrix report described above, the names used in the data feeds are SalesByTerritoryYear _Territory and SalesByTerritoryYear _Year.

Se si confrontano i dati mostrati sul report e i dati del feed di dati, è possibile notare alcune differenze.If you compare the data shown on the report and the data in the data feed, you might notice some differences. I report spesso mostrano dati numerici formattati e relativi all'ora/data, mentre il feed di dati contiene dati non formattati.Reports often shows formatted numeric and time/date data whereas the data feed contains unformatted data.

Un feed di dati viene salvato con l'estensione di file atom.A data feed is saved with the .atom file name extension. Per visualizzare la struttura e il contenuto del file, è possibile usare un editor di testo o XML, ad esempio il Blocco note o l'editor XML.You can use a text or XML editor such as Notepad or XML Editor to view the file structure and content.

Rendere bidimensionali i dati del report Flattening Report Data

Il renderer Atom fornisce dati del report come i set di righe bidimensionali in un formato XML.The Atom renderer provides report data as flattened rowsets in an XML format. Le regole per rendere bidimensionali le tabelle di dati sono uguali a quelle del renderer CSV con alcune eccezioni:The rules for flattening data tables are the same to those of the CSV renderer with a few exceptions:

  • Gli elementi dell'ambito sono resi bidimensionali a livello di dettaglio.Items in scope are flattened to the detail level. A differenza del renderer CSV, le caselle di testo del livello principale vengono visualizzate in ogni voce scritta nel feed di dati.Unlike the CSV renderer, the text boxes at the top level appear in each entry written to the data feed.

  • I valori dei parametri del report vengono sottoposti a rendering in ogni riga dell'output.Report parameter values are rendered on each row of the output.

    Per poter essere rappresentati nel formato conforme ad Atom, i dati gerarchici e raggruppati devono essere bidimensionali.Hierarchical and grouped data must be flattened in order to be represented in the Atom-compliant format. L'estensione per il rendering rende bidimensionale il report in una struttura ad albero che rappresenta i gruppi nidificati all'interno dell'area dati.The rendering extension flattens the report into a tree structure that represents the nested groups within the data region. Per rendere bidimensionale il report:To flatten the report:

  • Una gerarchia di righe viene resa bidimensionale prima di una gerarchia di colonne.A row hierarchy is flattened before a column hierarchy.

  • Il rendering dei membri della gerarchia di righe nel feed di dati viene eseguito prima di quello dei membri della gerarchia di colonne.Members of the row hierarchy are rendered to the data feed before members of the column hierarchy.

  • 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.Columns are ordered as follows: text boxes in body order left-to-right, top-to-bottom followed by data regions ordered left-to-right, top-to-bottom.

  • 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.Within a data region, the columns are ordered as follows: corner members, row hierarchy members, column hierarchy members, and then cells.

  • Le aree dati di pari livello sono aree dati o gruppi dinamici che condividono un'area dati o un predecessore dinamico comune.Peer data regions are data regions or dynamic groups that share a common data region or dynamic ancestor. I dati di pari livello sono identificabili dalle diramazioni dell'albero bidimensionale.Peer data is identified by branching of the flattened tree.

    Per altre informazioni, vedere Tabelle, matrici ed elenchi (Generatore report e SSRS).For more information, see Tables, Matrices, and Lists (Report Builder and SSRS).

Regole di rendering Atom Atom Rendering Rules

L'estensione per il rendering Atom ignora le informazioni seguenti quando si esegue il rendering di un feed di dati:The Atom rendering extension ignores the following information when rendering a data feed:

  • Formattazione e layoutFormatting and layout

  • Intestazione di paginaPage header

  • Piè di paginaPage footer

  • Elementi personalizzati del reportCustom report items

  • RettangoliRectangles

  • LineeLines

  • ImmaginiImages

  • Subtotali automaticiAutomatic subtotals

    Gli elementi rimanenti del report vengono ordinati dall'alto verso il basso, quindi da sinistra a destra.The remaining report items are sorted, from top to bottom, and then left to right. Viene quindi eseguito il rendering di ogni elemento in una colonna.Each item is then rendered to a column. Se il report include elementi di dati nidificati, ad esempio elenchi o tabelle, gli elementi padre vengono ripetuti in ogni riga.If the report has nested data items like lists or tables, the parent items are repeated on each row.

    Nella seguente tabella è indicato l'aspetto degli elementi del report di cui è stato eseguito il rendering:The following table indicates the appearance of report items when rendered:

ElementoItem Tipo di renderingRendering behavior
TabellaTable 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.Renders by expanding the table and creating a row and column for each row and column at the lowest level of detail. Per le righe e le colonne di subtotali non sono disponibili intestazioni.Subtotal rows and columns do not have column or row headings. I report drill-through non sono supportati.Drillthrough reports are not supported.
MatriceMatrix 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.Renders by expanding the matrix and creating a row and column for each row and column at the lowest level of detail. Per le righe e le colonne di subtotali non sono disponibili intestazioni.Subtotal rows and columns do not have column or row headings.
ElencoList Viene eseguito il rendering di un record per ogni riga di dettagli o istanza nell'elenco.Renders a record for each detail row or instance in the list.
SottoreportSubreport L'elemento padre viene ripetuto per ogni istanza del contenuto.The parent item is repeated for each instance of the contents.
GraficoChart Viene eseguito il rendering di un record con tutte le etichette del grafico per ogni valore del grafico.Renders a record with all chart labels for each chart value. Le etichette delle serie e delle categorie nelle gerarchie sono rese bidimensionali e incluse nella riga per un valore del grafico.Labels from series and categories in hierarchies are flattened and included in the row for a chart value.
Barra dei datiData bar Viene eseguito il rendering come grafico.Renders like a chart. In genere, in una barra dei dati non sono incluse gerarchie o etichette.Typically, a data bar does not include hierarchies or labels.
Grafico sparklineSparkline Viene eseguito il rendering come grafico.Renders like a chart. In genere, in un grafico sparkline non sono incluse gerarchie o etichette.Typically, a sparkline does not include hierarchies or labels.
MisuratoreGauge 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 dell'indicatore di misura.Renders as a single record with the minimum and maximum values of the linear scale, start and end values of the range, and the value of the pointer.
IndicatoreIndicator Viene eseguito il rendering come un singolo record con il nome di stato attivo, gli stati disponibili e il valore dei dati.Renders as a single record with the active state name, available states, and the data value.
MappaMap Viene generato un feed di dati per ogni area dati mappa.Generates a data feed for each map data region. Se più livelli mappa usano la stessa area dati, vengono inclusi tutti nel feed di dati.If multiple map layers use the same data region, the data feed includes all of them. Nel feed di dati è incluso un record con le etichette e i valori per ogni membro della mappa del livello mappa.The data feed includes a record with the labels and values for each map member of the map layer.

Impostazioni relative alle informazioni sul dispositivo Device Information Settings

È possibile modificare alcune impostazioni predefinite per questo renderer, incluso lo schema di codifica da usare.You can change some default settings for this renderer, including the encoding schema to use. Per altre informazioni, vedere ATOM Device Information Settings.For more information, see ATOM Device Information Settings.

Passaggi successiviNext steps

Esportazione in un File CSV Exporting to a CSV File
Esportare reportExport Reports

Ulteriori domande?More questions? Provare a porre il forum di Reporting ServicesTry asking the Reporting Services forum