Reporting services e XML data source

Published 21 marzo 08 07.51 | abenedetti

Stimolato da un post sul forum UGISS, cerco di mettere ordine e tirare le fila circa la possibilita' di utilizzare file XML come data source dei nostri report.

In realta' parliamo solo di file XML come sorgente dati, non di come poter utilizzare XML uscente da un metodo remoto di un web service.

Supponiamo di avere un file xml come il seguente:

<?xml version="1.0"?>
<vendite>
    <categoria id="1" name="cat01">
        <cliente id="1" name="luca">
            <qta>12</qta>
        </cliente>
    </categoria>
    <categoria id="1" name="cat02">
        <cliente id="2" name="marco">
            <qta>1</qta>
        </cliente>
        <cliente id="3" name="giovanni">
            <qta>7</qta>
        </cliente>
    </categoria>
</vendite>

Supponiamo anche di averlo raggiungibile su un URL definito, ad esempio:

http://localhost:8081/OnlineShopping/vendite.xml

Vediamo i passi necessari e sufficienti per poter creare un dataset con i dati del nostro file.
Ci e' sufficiente definire la nostra sorgente dati con le seguenti caratteristiche:

- tipo XML
- data source: http://localhost:8081/OnlineShopping/vendite.xml

image

A questo punto definiamo la nostra query come: vendite / categoria / cliente

image

Alcune considerazioni:
- l'estensione XML ritorna data type stringa (in questo caso non posso utilizzare schema)
- non posso utilizzare sintassi XPath

Proprio per il motivo di cui sopra non saremmo in grado, immediatamente, di eseguire dei totali sui nostri dati (la voce di menu "total', infatti non e' disponibile).
Per farlo dobbiamo necessariamente, in maniera esplicita, utilizzare funzioni di conversione per trasformare le nostre stringhe, ad esempio, in formato numerico.
image

A questo punto possiamo aggregare i dati secondo le nostre necessita' e saremo comunque noi, a mano, che andremo ad inserire, ad esempio nel footer di una tabella, la corretta funzione di aggregazione che vogliamo utilizzare (ad esempio la SUM).

Filed under: , ,

Comments

No Comments

This Blog

Syndication