Esercitazione: creare un report matrice (Generatore di report)

In questa esercitazione viene illustrato come creare un report impaginato di Reporting Services con una matrice di dati di vendita di esempio in gruppi di righe e colonne nidificate.

È anche possibile creare un gruppo di colonne adiacenti, formattare le colonne e ruotare il testo. Nell'immagine seguente viene illustrato un report simile a quello creato in questa esercitazione.

Screenshot of a Report Builder matrix report.

Il tempo stimato per il completare l'esercitazione è di 20 minuti.

Requisiti

Per informazioni sui requisiti, vedere Prerequisiti per le esercitazioni.

1. Creare un report matrice e un set di dati tramite la Creazione guidata tabella o matrice

Questa sezione spiega come scegliere un'origine dati condivisa, creare un set di dati incorporato e visualizzare i dati in una tabella.

Nota

Per evitare di dover disporre di un'origine dati esterna, nella query di questa esercitazione sono già inclusi i valori dei dati. Tale condizione rende tuttavia la query piuttosto lunga. In una query di un ambiente aziendale non sarebbe incluso alcun dato. Questo esempio è solo a scopo illustrativo.

Creare una matrice

  1. Avviare Generatore report dal computer, dal portale Web di Reporting Services o in modalità integrata SharePoint.

    Si apre la finestra di dialogo Nuovo report o set di dati .

    Se la finestra di dialogo Nuovo report o set di dati non viene visualizzata, scegliere Nuovo dal menu >File.

  2. Nel riquadro sinistro verificare che sia selezionata l'opzione Nuovo report .

  3. Nel riquadro di destra selezionare Creazione guidata tabella o matrice.

  4. Nella pagina Scegliere un set di dati, selezionare Crea un set di dati.

  5. Selezionare Avanti.

  6. Nella pagina Scegliere una connessione a un'origine dei dati selezionare un'origine dati esistente o individuare il server di report e scegliere un'origine dati. Se non è disponibile un'origine dati o non si dispone dell'accesso a un server di report, sarà possibile utilizzare un'origine dati incorporata. Per informazioni sulla creazione di un'origine dati incorporata, vedere Esercitazione: creare un report tabella semplice (Generatore di report).

  7. Selezionare Avanti.

  8. Nella pagina Progetta query selezionare Modifica come testo.

  9. Copiare e incollare la query seguente nel relativo riquadro:

    SELECT CAST('2015-01-05' AS date) as SalesDate, 'Central' as Territory, 'Accessories' as Subcategory,'Carrying Case' as Product, CAST(16996.60 AS money) AS Sales, 68 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'North' as Territory, 'Accessories' as Subcategory, 'Carrying Case' as Product, CAST(13747.25 AS money) AS Sales, 55 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'South' as Territory, 'Accessories' as Subcategory,'Carrying Case' as Product, CAST(9248.15 AS money) As Sales, 37 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'Central' as Territory, 'Accessories' as Subcategory,'Tripod' as Product, CAST(1350.00 AS money) AS Sales, 18 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'North' as Territory, 'Accessories' as Subcategory,'Tripod' as Product, CAST(1800.00 AS money) AS Sales, 24 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'South' as Territory, 'Accessories' as Subcategory,'Tripod' as Product, CAST(1125.00 AS money) AS Sales, 15 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'Central' as Territory, 'Accessories' as Subcategory,'Lens Adapter' as Product, CAST(1147.50 AS money) AS Sales, 17 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'North' as Territory, 'Accessories' as Subcategory,  'Lens Adapter' as Product, CAST(742.50 AS money) AS Sales, 11 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'South' as Territory, 'Accessories' as Subcategory,'Lens Adapter' as Product, CAST(1417.50 AS money) AS Sales, 21 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'Central' as Territory, 'Accessories' as Subcategory, 'Carrying Case' as Product, CAST(13497.30 AS money) AS Sales, 54 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'North' as Territory, 'Accessories' as Subcategory, 'Carrying Case' as Product, CAST(11997.60 AS money) AS Sales, 48 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'South' as Territory, 'Accessories' as Subcategory, 'Carrying Case' as Product, CAST(10247.95 AS money) As Sales, 41 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'Central' as Territory, 'Accessories' as Subcategory, 'Tripod' as Product, CAST(1200.00 AS money) AS Sales, 16 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'North' as Territory, 'Accessories' as Subcategory,'Tripod' as Product, CAST(2025.00 AS money) AS Sales, 27 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'South' as Territory, 'Accessories' as Subcategory,'Tripod' as Product, CAST(1425.00 AS money) AS Sales, 19 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'Central' as Territory, 'Accessories' as Subcategory,'Lens Adapter' as Product, CAST(887.50 AS money) AS Sales, 13 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'North' as Territory, 'Accessories' as Subcategory, 'Lens Adapter' as Product, CAST(607.50 AS money) AS Sales, 9 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'South' as Territory, 'Accessories' as Subcategory,'Lens Adapter' as Product, CAST(1215.00 AS money) AS Sales, 18 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate,  'Central' as Territory, 'Digital' as Subcategory,'Compact Digital' as Product, CAST(10191.00 AS money) AS Sales, 79 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate,  'North' as Territory, 'Digital' as Subcategory, 'Compact Digital' as Product, CAST(8772.00 AS money) AS Sales, 68 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate,  'South' as Territory, 'Digital' as Subcategory, 'Compact Digital' as Product, CAST(10578.00 AS money) AS Sales, 82 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'Central' as Territory,'Digital' as Subcategory, 'Slim Digital' as Product, CAST(7218.10 AS money) AS Sales, 38 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'North' as Territory,'Digital' as Subcategory, 'Slim Digital' as Product, CAST(8357.80 AS money) AS Sales, 44 as Quantity  
    UNION SELECT CAST('2015-01-05' AS date) as SalesDate, 'South' as Territory,'Digital' as Subcategory,'Slim Digital' as Product, CAST(9307.55 AS money) AS Sales, 49 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate,  'Central' as Territory, 'Digital' as Subcategory,'Compact Digital' as Product, CAST(3870.00 AS money) AS Sales, 30 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate,  'North' as Territory, 'Digital' as Subcategory,'Compact Digital' as Product, CAST(5805.00 AS money) AS Sales, 45 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate,  'South' as Territory, 'Digital' as Subcategory, 'Compact Digital' as Product, CAST(8643.00 AS money) AS Sales, 67 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'Central' as Territory, 'Digital' as Subcategory, 'Slim Digital' as Product, CAST(9877.40 AS money) AS Sales, 52 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'North' as Territory, 'Digital' as Subcategory, 'Slim Digital' as Product, CAST(12536.70 AS money) AS Sales, 66 as Quantity  
    UNION SELECT CAST('2015-01-06' AS date) as SalesDate, 'South' as Territory, 'Digital' as Subcategory, 'Slim Digital' as Product, CAST(6648.25 AS money) AS Sales, 35 as Quantity  
    
  10. (facoltativo) Selezionare l'icona Esegui (!) per eseguire la query e visualizzare i dati.

  11. Selezionare Avanti.

2. Organizzare i dati e scegliere il layout dalla Creazione guidata tabella o matrice

Utilizzare la procedura guidata per fornire una progettazione iniziale in cui visualizzare i dati. Il riquadro di anteprima nella procedura guidata consente di visualizzare il risultato del raggruppamento di dati prima di completare la progettazione della matrice.

  1. Nella pagina Disponi campi trascinare Territory da Campi disponibili in Gruppi di righe.

  2. Trascinare SalesDate in Gruppi di righe e posizionarlo dopo Territory.

    L'ordine in cui i campi vengono elencati in Gruppi di righe consente di definire la gerarchia di gruppi. I passaggi 1 e 2 consentono di organizzare i valori dei campi prima in base al territorio, quindi in base alle date di vendita.

  3. Trascinare Subcategory in Gruppi di colonne.

  4. Trascinare Product in Gruppi di colonne e posizionarlo dopo Subcategory.

    Anche in questo caso, l'ordine in cui i campi vengono elencati in Gruppi di colonne consente di definire la gerarchia di gruppi. I passaggi 3 e 4 consentono di organizzare i valori per i campi prima in base alla sottocategoria, quindi in base al prodotto.

  5. Trascinare Sales in Valori.

    Le vendite vengono riepilogate con la funzione Sum, ovvero la funzione predefinita per il riepilogo di campi numerici.

  6. Trascinare Quantity in Valori.

    La quantità viene riepilogata con la funzione Sum.

    I passaggi 5 e 6 consentono di specificare i dati da visualizzare nella celle di dati della matrice.

    Screenshot that shows the Report Builder arrange fields Report Wizard.

  7. Selezionare Avanti.

  8. Nella pagina Scegliere il layout, in Opzioni, verificare che la casella Mostra subtotali e totali complessivi sia selezionata.

  9. Verificare che l'opzione Bloccato, subtotale sotto sia selezionata.

  10. Verificare che l'opzione Espandi/comprimi gruppi sia selezionata.

  11. Selezionare Avanti.

  12. Selezionare Fine.

    La matrice viene aggiunta all'area di progettazione. Nel riquadro Gruppi di righe vengono visualizzati due gruppi di righe, ovvero Territory e SalesDate. Nel riquadro Gruppi di colonne vengono visualizzati due gruppi di colonne, ovvero Subcategory e Product. I dati dettaglio costituiscono tutti i dati che la query del set di dati recupera.

    Screenshot that shows the Report Builder Row Groups and Column Groups.

  13. Selezionare Esegui per visualizzare l'anteprima del report.

    Per ogni prodotto venduto in una data specifica, nella matrice viene visualizzata la sottocategoria alla quale appartiene il prodotto, nonché il territorio delle vendite.

  14. Espandere una sottocategoria. Come si può vedere, il report diventa rapidamente ampio.

Screenshot that shows an expanded Report Builder matrix report.

3. Formattare i dati

Per impostazione predefinita, i dati riepilogativi per il campo Sales vengono visualizzati come numero generico e nel campo SalesDate vengono visualizzate le informazioni di data e ora. Questa sezione spiega come formattare il campo Sales in modo che il numero venga visualizzato come valuta e formattare il campo SalesDate in modo che venga visualizzata solo la data. Attivare o disattivare Stili segnaposto per visualizzare caselle di testo formattate e testo segnaposto come valori di esempio.

Formattare i campi

  1. Selezionare Progettazione per passare alla visualizzazione Progettazione.

  2. Premere CTRL e selezionare le nove celle contenenti [Sum(Sales)].

  3. Nella scheda Home>Numero>Valuta. Nelle celle i numeri vengono visualizzati nel formato di valuta.

    Se la lingua delle impostazioni locali è Inglese (Stati Uniti), il testo di esempio predefinito sarà [$12,345.00]. Se non viene visualizzato un valore di valuta di esempio, selezionare Stili segnaposto>Valori di esempio nel gruppo Numeri.

    Screenshot of the Report Builder Sample Values option.

  4. Selezionare la cella contenente [SalesDate].

  5. Nel gruppo Numero, andare a Data.

    Nella cella verrà visualizzata la data di esempio [1/31/2000]. Se non viene visualizzata una data di esempio, selezionare Stili segnaposto nel gruppo Numeri, quindi scegliere Valori di esempio.

  6. Per visualizzare l'anteprima del report, selezionare Esegui.

I valori di data verranno visualizzati solo come date mentre i valori delle vendite verranno visualizzati come valuta.

4. Aggiungere un gruppo di colonne adiacente

È possibile annidare gruppi di righe e colonne nelle relazioni padre-figlio oppure gruppi di righe e colonne adiacenti nelle relazioni di pari livello.

Questa sezione spiega come aggiungere un gruppo di colonne vicino al gruppo di colonne Subcategory, copiare le celle per popolare il nuovo gruppo di colonne, quindi utilizzare un'espressione per creare il valore dell'intestazione del gruppo di colonne.

Aggiungere un gruppo di colonne adiacente

  1. Selezionare Progettazione per tornare alla visualizzazione Progettazione.

  2. Fare clic con il pulsante destro del mouse sulla cella contenente [Subcategory], scegliere Aggiungi gruppo, quindi selezionare Adiacente a destra.

    Verrà visualizzata la finestra di dialogo Gruppo Tablix .

  3. Nell'elenco Raggruppa per selezionare SalesDate, quindi scegliere OK.

    Un nuovo gruppo di colonne verrà aggiunto a destra del gruppo di colonne Subcategory.

  4. Fare clic con il pulsante destro del mouse sulla cella del nuovo gruppo di colonne contenente [SalesDate], quindi selezionare Espressione.

  5. Copiare l'espressione seguente nell'apposita casella.

    =WeekdayName(DatePart("w",Fields!SalesDate.Value))  
    

    Questa espressione consente di estrarre il nome del giorno della settimana dalla data in cui è stata realizzata la vendita. Per altre informazioni, vedere Espressioni in un report impaginato (Generatore di report).

  6. Fare clic con il pulsante destro del mouse sul gruppo di colonne Subcategory contenente Total, quindi selezionare Copia.

  7. Fare clic con il pulsante destro del mouse sulla cella posta immediatamente sotto a quella contenente l'espressione creata nel passaggio 5 e selezionare Incolla.

  8. Premere CTRL.

  9. Nel gruppo Subcategory, selezionare l'intestazione di colonna Sales e sulle tre celle sottostanti, fare clic con il pulsante destro del mouse, quindi scegliere Copia.

  10. Incollare le quattro celle nelle quattro celle vuote del nuovo gruppo di colonne.

  11. Selezionare Esegui per visualizzare l'anteprima del report.

Nel report sono incluse due colonne denominate Monday e Tuesday. Il set di dati contiene i dati solo per questi due giorni.

Screenshot that shows weekdays displayed in the Report Builder matrix report.

Nota

Diversamente, nel report sarebbero state incluse le colonne per gli altri giorni della settimana. Ogni colonna contiene l'intestazione di colonna Salese i totali di vendita per territorio.

5. Modificare le larghezze delle colonne

Al momento dell'esecuzione, un report contenente una matrice si espande in genere orizzontalmente e verticalmente. Il controllo di espansione orizzontale è importante quando si intende esportare il report in un formato quale Microsoft Word o Adobe PDF utilizzato per i report stampati. Se il report si espande orizzontalmente su più pagine, sarà difficile interpretare il report stampato. Per contenere l'espansione orizzontale, è possibile ridimensionare le colonne alla larghezza minima necessaria per visualizzare i dati su una sola riga. È inoltre possibile rinominare le colonne in modo che i relativi titoli si adattino alla larghezza necessaria per visualizzare i dati.

Rinominare e ridimensionare le colonne

  1. Selezionare Progettazione per tornare alla visualizzazione Progettazione.

  2. Selezionare il testo nella colonna Quantity all'estrema sinistra, quindi immettere QTA.

    Il titolo della colonna corrisponderà a QTA.

  3. Ripetere il passaggio 2 per le altre due colonne denominate Quantity.

  4. Selezionare la matrice in modo che vengano visualizzati gli handle di riga e di colonna sopra e accanto alla matrice.

    Le barre grigie lungo la parte superiore e laterale della tabella sono gli handle di riga e di colonna.

    Screenshot for the column and row handles in the Report Builder matrix report.

  5. Per ridimensionare la colonna della quantità all'estrema sinistra della matrice, posizionare il puntatore del mouse sulla riga posta tra gli handle di colonna in modo che il cursore assuma la forma di una doppia freccia. Trascinare la colonna verso sinistra fino a quando non raggiunge una larghezza di 1 centimetro circa.

    Una larghezza di colonna di circa 1 centimetro è ideale per visualizzare la quantità.

  6. Ripetere il passaggio 5 per le altre colonne denominate QTA.

  7. Per visualizzare l'anteprima del report, selezionare Esegui.

Le colonne che contengono le quantità ora sono più strette e sono denominate QTA.

6. Unire le celle della matrice

L'area dell'angolo si trova in corrispondenza dell'angolo superiore sinistro della matrice. Il numero di celle nell'area dell'angolo varia a seconda del numero di righe e di gruppi di colonne presenti nella matrice. La matrice creata in questa esercitazione dispone di quattro celle nell'area dell'angolo corrispondente. Le celle vengono disposte in due righe e due colonne, in modo da riflettere il livello delle gerarchie di gruppo di righe e colonne. Le quattro celle non vengono utilizzate in questo report e vengono unite in un'unica cella.

Unire le celle della matrice

  1. Selezionare Progettazione per tornare alla visualizzazione Progettazione.

  2. Selezionare la matrice in modo che vengano visualizzati gli handle di riga e di colonna sopra e accanto alla matrice.

  3. Premere CTRL e selezionare le quattro celle d'angolo.

  4. Fare clic con il pulsante destro del mouse sulle celle e selezionare Unisci celle.

  5. Fare clic con il pulsante destro del mouse nella cella unita e selezionare Proprietà casella di testo.

  6. Nella scheda Bordo>Bordi predefiniti>Nessuno.

  7. Seleziona OK.

  8. Per visualizzare l'anteprima del report, selezionare Esegui.

La cella nell'angolo superiore della matrice non è più visibile.

7. Aggiungere un'intestazione e un titolo al report

Nella parte superiore del report viene visualizzato il titolo del report. È possibile posizionare il titolo del report in un'apposita intestazione oppure, se ne è privo, in una casella di testo nella parte superiore del corpo del report. In questa esercitazione viene rimossa la casella di testo nella parte superiore del report e verrà aggiunto un titolo all'intestazione.

Aggiungere un'intestazione e un titolo al report

  1. Selezionare Progettazione per tornare alla visualizzazione Progettazione.

  2. Selezionare la casella di testo nella parte superiore del corpo del report contenente il testo Fare clic per aggiungere il titolo, quindi premere il tasto CANC.

  3. Nella scheda Inserisci, andare a Intestazione>Aggiungi intestazione.

    Nella parte superiore del corpo del report verrà aggiunta un'intestazione.

  4. Nella scheda Inserisci, selezionare Casella di testo, quindi trascinare una casella di testo nell'intestazione report. Assegnare alla casella di testo una lunghezza di circa 15 centimetri e un'altezza di circa 2 centimetri e posizionarla nella parte sinistra dell'intestazione del report.

  5. Nella casella di testo immettere Vendite per territorio, sottocategoria e giorno.

  6. Selezionare il testo immesso, nella scheda Home>Carattere:

    • Dimensioni 24 pt
    • Colore Bordeaux
  7. Selezionare Esegui per visualizzare l'anteprima del report.

Nel report visualizzato è incluso il titolo di un report nella relativa intestazione.

8. Salvare il report

È possibile salvare i report in un server di report, in una raccolta di SharePoint o nel computer locale.

In questa esercitazione il report verrà salvato in un server di report. Se non si dispone dell'accesso a un server di report, sarà possibile salvare il report nel computer locale.

Salvare il report in un server di report

  1. Dal pulsante Generatore di report, selezionare Salva con nome.

  2. Selezionare Siti e server recenti.

  3. Selezionare o immettere il nome del server di report per il quale si dispone delle autorizzazioni di salvataggio dei report.

    Verrà visualizzato il messaggio "Connessione al server di report". Al termine della connessione, viene visualizzato il contenuto della cartella di report specificata dall'amministratore del server di report come posizione predefinita per i report.

  4. In Nomesostituire il nome predefinito con VenditePerTerritorioSottocategoria.

  5. Seleziona Salva.

Il report verrà salvato sul server di report. Il nome del server di report al quale si è connessi verrà visualizzato sulla barra di stato nella parte inferiore della finestra.

Salvare il report nel computer

  1. Dal pulsante Generatore di report, selezionare Salva con nome.

  2. Selezionare Desktop, Documenti o Computer locale, quindi passare alla cartella in cui si desidera salvare il report.

  3. In Nomesostituire il nome predefinito con VenditePerTerritorioSottocategoria.

  4. Seleziona Salva.

9. (facoltativo) Ruotare una casella di testo di 270 gradi

Al momento dell'esecuzione, un report con matrici può espandersi orizzontalmente e verticalmente. La rotazione verticale, o di 270 gradi, delle caselle di testo consente di risparmiare spazio orizzontale. Il report visualizzabile risulterà quindi più stretto e nel caso venga esportato in un formato quale Microsoft Word si adatta con maggiore facilità alle dimensioni della pagina stampata.

Il testo in una casella di testo può inoltre essere visualizzato in senso orizzontale e verticale (dall'alto in basso). Per altre informazioni, vedere Caselle di testo in report impaginati (Generatore di report).

Ruotare la casella di testo di 270 gradi

  1. Selezionare Progettazione per tornare alla visualizzazione Progettazione.

  2. Fare clic sulla cella contenente [Territory].

    Nota

    selezionare la cella, non il testo. La proprietà WritingMode è disponibile solo per la cella.

    Screenshot that shows the Territory cell in the Report Builder matrix report.

  3. Individuare la proprietà WritingMode nel riquadro Proprietà e modificarla da Predefinito a Rotate270.

    Se il riquadro Proprietà non viene visualizzato, selezionare Visualizza e scegliere Proprietà.

  4. Verificare che la proprietà CanGrow sia impostata su True.

  5. Nella scheda Home della sezione >Paragrafo selezionare Middle e Center per posizionare il testo al centro delle celle sia verticalmente sia orizzontalmente.

  6. Ridimensionare la colonna Territory assegnandole una larghezza di circa 1 centimetro ed eliminare il titolo della colonna.

  7. Per visualizzare l'anteprima del report, selezionare Esegui.

Il nome dell'area risulterà scritto in senso verticale, dal basso verso l'alto. L'altezza del gruppo di righe Territory dipenderà dalla lunghezza del nome del territorio.

Passaggi successivi

L'esercitazione per la creazione di un report matrice è stata completata in modo corretto. Per altre informazioni sulle matrici, vedere: