Sintassi XML del feed di dati

Un approccio per passare i dati XML alle cartelle di lavoro di PowerPivot consiste nel compilare un servizio dati o un'applicazione Web che invia i dati XML in un formato e una struttura che vengono utilizzati facilmente in PowerPivot per Excel. In PowerPivot per Excel è contenuto un lettore del feed di dati predefinito che può analizzare le strutture XML conformi al formato di diffusione dei dati Atom 1.0 descritto in RFC4287. 

Sebbene sia possibile utilizzare molti strumenti e applicazioni per generare un feed di dati, i programmatori che compilano un servizio dati basato sul formato Atom di ADO.NET Data Services 3.5.1 creeranno feed pienamente supportati in PowerPivot per Excel. I prodotti e le tecnologie seguenti supportano la generazione di feed Atom basati sul formato Atom di ADO.NET:

  • ADO.NET Data Services

  • Windows Communication Foundation (WCF)

  • Feed Atom di SharePoint 2010

  • Feed Atom di SQL Server 2008 R2 Reporting Services

I programmatori che utilizzano altri strumenti o approcci dovranno essere in grado di strutturare una risposta XML valida che può essere elaborata dal lettore del feed di dati compilato in PowerPivot per Excel. In questo argomento vengono descritte le parti della sintassi Atom 1.0 supportate per le cartelle di lavoro di PowerPivot.

Per ulteriori informazioni sull'utilizzo di ADO.NET Data Services per generare feed di dati da altre origini dati, vedere la sezione relativa all'utilizzo di ADO.NET Data Services e il Formato Atom sul sito Web Microsoft.

Presentazione del payload di dati

Prima di illustrare dettagliatamente la sintassi XML, è utile conoscere la presentazione dei dati nell'area di lavoro PowerPivot dopo un'operazione di importazione. Un'origine dati PowerPivot è costituita da dati tabulari disposti in righe e colonne in un layout di griglia comune. Quando si importano dati strutturati Atom 1.0, nel set di risultati sono inclusi gli elementi di dati predefiniti presenti in qualsiasi feed Atom e i dati personalizzati che contengono dati business o di un settore specifico che gli analisti desiderano utilizzare. Si consideri l'esempio seguente in cui gli elementi di dati Atom predefiniti vengono visualizzati in grassetto e gli elementi di dati personalizzati utilizzati per presentare i dati di un database interno delle risorse umane in corsivo:

id

title

updated

numero dipendenti

Posizioni aperte

Media di anni nel reparto

http://AW:8080/AWDept/AWDataService.svc/Dept(1)

Reparto marketing

18-04-2008T18.16.30Z

15

2

1.5

http://AW:8080/AWDept/AWDataService.svc/Dept(2)

Reparto produzione

18-04-2008T18.16.30Z

26

3

4

L'esempio riportato in precedenza può essere utilizzato per illustrare i punti chiave seguenti:

  • I campi predefiniti potrebbero far parte del set di risultati. Campi quali id, title e updated vengono specificati nella sintassi Atom 1.0 e sono una parte obbligatoria del feed. Tuttavia, è possibile utilizzare un parametro della connessione del feed di dati denominato "Include Atom Elements" per includere o escludere i campi. A seconda del tipo di configurazione del parametro, gli utenti possono prevedere di visualizzare questi campi nell'area di lavoro PowerPivot dopo l'importazione del feed. Dopo aver importato un feed, gli utenti possono eliminare i campi Atom se non sono importanti per il contesto dell'origine dati.

  • I campi del contenuto personalizzati possono essere utilizzati per restituire qualsiasi dato utile in una cartella di lavoro di PowerPivot. In molti casi, la maggioranza dei dati del payload è costituita da contenuto personalizzato.

Struttura XML del payload di esempio

In un feed di dati Atom 1.0 sono compresi dati tabulari XML che includono una combinazione di elementi predefiniti e di elementi di contenuto personalizzati. Gli elementi predefiniti forniscono i metadati essenziali utilizzati per l'elaborazione. I dati personalizzati includono i dati business che si desidera rendere disponibili nel feed. Ogni riga in un set di dati tabulare include sia elementi predefiniti sia personalizzati.

Nell'esempio seguente viene illustrato un semplice documento di dati Atom 1.0 che fornisce le due righe di dati dell'esempio precedente. Gli elementi Atom predefiniti vengono indicati in grassetto.

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="text">Departments</title>
  <id>http://Adventure-works:8080/AW/AWDataService.svc/Department</id>
  <updated>2008-04-18T18:16:30Z</updated>
  <entry>
     <id>http://AW:8080/AWDept/AWDataService.svc/Dept(1)</id>
     <title type="text">Marketing department</title>
     <updated>2008-04-18T18:16:30Z</updated>
     <content type="application/xml">
     <d:headcount type="int">15</d:headcount>
     <d:openpositions type="int">2</d:openpositions>
     <d:yrsinposition type="int">1.5</d:yrsinposition>
     </content>
  </entry>
  <entry>
     <id>http://AW:8080/AWDept/AWDataService.svc/Dept(2)</id>
     <title type="text">Production department</title>
     <updated>2008-04-18T18:16:30Z</updated>
     <content type="application/xml">
     <d:headcount type="int">26</d:headcount>
     <d:openpositions type="int">3</d:openpositions>
     <d:yrsinposition type="int">4</d:yrsinposition>
     </content>
  </entry>
</feed>

Guida di riferimento XML

Il servizio dati o Web deve restituire un documento XML corretto che contiene le strutture di dati <feed>, <entry> e <content>. Dopo l'importazione di un feed di dati, viene eseguito il mapping di questi elementi alla struttura della tabella, alla struttura della riga e ai valori dei dati visualizzati in una tabella nell'area di lavoro PowerPivot.

Negli standard Atom non sono incluse indicazioni per passare le informazioni sullo schema a un client che utilizza il payload XML. Tuttavia, un approccio pratico per assicurarsi che le definizioni dei dati vengano fornite a un'applicazione client consiste nello specificare gli attributi dei dati come attributi XML. Le informazioni relative allo schema sul tipo di dati, sul formato e su altri attributi delle colonne vengono generate in base alle descrizioni incorporate negli elementi di dati XML. Gli attributi di ogni elemento determinano se una colonna contiene dati numerici o di testo.

Elemento Feed

L'elemento Feed è un contenitore per metadati e dati che descrive la tabella che sarà creata nella cartella di lavoro di PowerPivot. Nell'esempio seguente viene illustrata la sintassi dell'elemento Feed nel modo in cui viene utilizzata da PowerPivot per Excel.

<feed xmlns="http://www.w3.org/2005/Atom">
   <title type="text">My Table Name</title>
   <id>http://UniversalResourceIdentifier/identifiesthisfeed</id>
   <updated>2008-10-31:09:23:34:1832</updated>
   <entry />
</feed>

Sintassi

Elemento o attributo

Obbligatorio

Descrizione

<feed xmlns= >

No

L'attributo xmlns viene utilizzato per risolvere i conflitti del nome dell'elemento. Ad esempio, se si dispone di due elementi <id>, è possibile inserire come prefisso uno spazio dei nomi che identifica ognuno di essi, dove <atom:id> fa riferimento alla colonna predefinita e <adventureworks:id> a un identificatore in un set di dati di Adventure Works.

Se è necessario eliminare le ambiguità dei campi Atom predefiniti dagli altri campi che condividono lo stesso nome, è possibile aggiungere lo spazio dei nomi Atom all'elemento Feed (xmlns="http://www.w3.org/2005/Atom"), quindi utilizzare il prefisso Atom per identificare l'elemento (ad esempio atom:id, atom:title, atom:updated).

<title>

L'elemento title contiene una stringa di testo. Quando viene utilizzato in un feed di dati di PowerPivot, specifica il nome della tabella che viene creata nell'area di lavoro PowerPivot all'importazione del feed di dati in PowerPivot per Excel.

In fase di esecuzione, il valore per l'elemento <title> viene letto dal documento di servizio dati sul sito di SharePoint.

<id>

L'elemento id identifica in modo univoco e permanente un'istanza del feed. Questo valore rappresenta i metadati che servono solo per uso interno. Non viene visualizzato in una tabella nell'area di lavoro PowerPivot o nelle pagine dell'applicazione in un sito di SharePoint.

In un feed di dati di PowerPivot, questo valore viene utilizzato quando si confrontano le istanze future e passate dello stesso feed per motivi di aggiornamento dati.

Questo valore deve essere un URI o un IRI. Per il valore viene applicata la distinzione tra maiuscole e minuscole.

<updated>

L'elemento updated specifica una data o un'ora in cui il feed di dati è stato modificato. Questo valore rappresenta i metadati che servono solo per uso interno. Non viene visualizzato in una tabella nell'area di lavoro PowerPivot o nelle pagine dell'applicazione in un sito di SharePoint.

In un feed di dati di PowerPivot, questo valore viene utilizzato quando si confrontano le istanze future e passate dello stesso feed per motivi di aggiornamento dati.

Questo valore deve essere un timestamp relativo alla data valido.

Elementi figlio di Feed ignorati

Tutti gli altri elementi definiti per l'elemento <entry> nel formato di diffusione Atom 1.0 vengono ignorati da PowerPivot per Excel. Sono inclusi gli elementi seguenti:

<Category>

<Contributor>

<Generator>

<Icon>

<Link>

<Logo>

<Rights>

<Subtitle>

<extensionElement>

Elemento Entry

L'elemento <entry> contiene una riga di dati. Nell'esempio seguente viene illustrata la sintassi dell'elemento <entry> nel modo in cui viene utilizzata da PowerPivot per Excel.

<entry>
   <id>http://AW:8080/AW/AWDataService.svc/Department(1)</id>
   <title type="text" />
   <updated>2008-04-18T18:16:30Z</updated>
   <content />   ;* contains data
</entry>

Sintassi

Elemento o attributo

Obbligatorio

Descrizione

<id>

L'elemento id identifica in modo univoco e permanente un'istanza della riga. Questo valore viene utilizzato quando si confrontano le altre istanze della stessa riga, in genere durante l'aggiornamento dati. Questo valore viene visualizzato in una riga di una tabella di PowerPivot.

Questo valore deve essere un URI o un IRI. Per il valore viene applicata la distinzione tra maiuscole e minuscole.

<title>

L'elemento title specifica un nome della riga che viene creata in una tabella di PowerPivot all'importazione del feed di dati in PowerPivot per Excel.

L'elemento deve essere specificato, tuttavia non richiede un valore. Ad esempio, l'elemento seguente è la sintassi Atom 1.0 valida:

<title type="text" />

<updated>

L'elemento updated specifica una data o un'ora in cui il feed di dati è stato modificato. Questo valore viene visualizzato in una tabella nell'area di lavoro PowerPivot o nelle pagine dell'applicazione in un sito di SharePoint.

<content>

Questo elemento non è obbligatorio nella sintassi Atom 1.0, ma lo è per passare i dati a una tabella nell'area di lavoro PowerPivot. Contiene i dati personalizzati che si desidera utilizzare.

Non esiste alcuno schema che definisce le strutture di dati. Lo schema viene generato dinamicamente durante un'operazione di importazione in base agli attributi e agli elementi. All'interno di ciascun elemento <content> sono contenute le informazioni utilizzate per derivare i nomi delle colonne e il tipo di dati.

Schema derivato per il contenuto personalizzato

I feed di dati contengono dati autonomi che vengono elaborati come documento completo. Di conseguenza, non esiste alcuna ricerca separata per gli schemi. Al contrario, è necessario incorporare le definizioni dei dati all'interno delle strutture XML.

Si consideri il frammento XML seguente dell'esempio precedente. Si noti che il tipo di dati viene specificato come attributo.

     <content type="application/xml">
     <d:headcount type="int">15</d:headcount>
     <d:openpositions type="int">2</d:openpositions>
     <d:yrsinposition type="int">1.5</d:yrsinposition>
     </content>

Elementi figlio di Entry ignorati

Tutti gli altri elementi definiti per l'elemento <entry> nel formato di diffusione Atom 1.0 vengono ignorati da PowerPivot per Excel. Sono inclusi gli elementi seguenti:

<Category>

<Contributor>

<Link>

<Published>

<Rights>

<Source>

<Summary>

<extensionElement>