Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a: Generatore di report Microsoft (SSRS)
Power BI Report Builder
Progettazione report in SQL Server Data Tools
Quando si scrivono espressioni, si noterà che il termine ambito viene usato in molti contesti nei report impaginati. L'ambito può specificare i dati da utilizzare per valutare un'espressione, l'insieme delle caselle di testo in una pagina sottoposta a rendering, l'insieme degli elementi del report che possono essere mostrati o nascosti in base a un interruttore. Il termine ambito verrà utilizzato in argomenti correlati alla valutazione di un'espressione, alla sintassi della funzione di aggregazione, alla visibilità condizionale nonché nei messaggi di errore relativi a queste aree. Per comprendere il significato di ambito in un contesto specifico, utilizzare le descrizioni seguenti:
Ambito dei dati L'ambito dei dati è una gerarchia di ambiti utilizzata dall'elaboratore di report mentre vengono combinati i dati report con il layout del report e compilate le aree dati esterne, ad esempio tabelle e grafici, in cui visualizzare i dati. Le informazioni sull'ambito dei dati consentono di ottenere i risultati desiderati quando si effettuano le seguenti operazioni:
Scrivere espressioni che utilizzano funzioni di aggregazione Specificare quali dati aggregare. La posizione dell'espressione nel report influisce sui dati che sono nell'ambito per i calcoli di aggregazione.
Aggiungere gli sparkline a una tabella o a una matrice Specificare un intervallo minimo e massimo per gli assi del grafico per allineare istanze annidate in una tabella o matrice.
Aggiungere indicatori a una tabella o a una matrice Specificare una scala minima e massima del misuratore per allineare istanze nidificate in una tabella o in una matrice.
Scrivere espressioni di ordinamento Specificare un ambito contenitore che può essere utilizzato per sincronizzare l'ordinamento fra più elementi del report correlati.
Ambito cella L'ambito cella è il set di gruppi di righe e di colonne di un'area dati Tablix a cui appartiene una cella. Per impostazione predefinita, in ogni cella della Tablix è contenuta una casella di testo. Il valore della casella di testo è l'espressione. La posizione della cella consente di determinare indirettamente gli ambiti dei dati che si possono specificare per i calcoli di aggregazione nell'espressione.
Ambito dell'elemento del report L'ambito dell'elemento del report fa riferimento alla raccolta di elementi in una pagina del report di cui è stato eseguito il rendering. L'elaboratore di report consente di combinare i dati con gli elementi del layout del report per produrre una definizione del report compilato. Durante questo processo, le aree dati, ad esempio tabelle e matrici, possono essere espanse in base alle necessità per visualizzare tutti i dati del report. Il report compilato viene quindi elaborato da un motore di rendering del report. Il renderer del report determina quali elementi del report appaiono in ogni pagina. In un server di report, ogni pagina viene sottoposta a rendering quando visualizzata. Dopo l'esportazione di un report, tutte le pagine sono sottoposte a rendering. Le informazioni sull'ambito dell'elemento del report consentono di ottenere i risultati desiderati quando si effettuano le seguenti operazioni:
Aggiungere elementi Toggle Specificare una casella di testo per aggiungere l'elemento Toggle che consente di controllare la visibilità di un elemento del report. È possibile aggiungere un interruttore solo alle caselle di testo che rientrano nell'ambito dell'elemento del report che si vuole attivare o disattivare.
Scrivere espressioni in intestazioni e piè di pagina Specificare i valori di espressioni nelle caselle di testo o in altri elementi del report visualizzati nella pagina di cui è stato eseguito il rendering.
Le informazioni sugli ambiti consentono di completare la scrittura di espressioni che forniscono i risultati desiderati.
Nota
È possibile creare e modificare file di definizione di report impaginati (.rdl) in Generatore report di Microsoft, Power BI Report Builder e in Progettazione report in SQL Server Data Tools.
Informazioni sull'ambito dei dati e sulla gerarchia di dati
L'ambito dei dati consente di specificare un set di dati del report L'ambito dei dati ha una gerarchia naturale con una relazione di contenimento intrinseca. Nella gerarchia, gli ambiti di ordine superiore contengono gli ambiti di ordine inferiore. Nel seguente elenco di ambiti dei dati la gerarchia viene descritta a partire dal numero maggiore di dati:
Set di dati, dopo l'applicazione dei filtri dei set di dati Specificano il set di dati del report collegato all'area dati o a un elemento del report nel corpo del report. I dati utilizzati per l'aggregazione provengono dal set di dati del report dopo l'applicazione delle espressioni di filtro del set di dati. Per i set di dati condivisi, ciò significa sia i filtri nella definizione del set di dati condiviso che i filtri nell'istanza del set di dati condiviso nel report.
Aree dati Specificano i dati provenienti dall'area dati dopo l'applicazione delle espressioni di filtro e di ordinamento dell'area dati. I filtri di gruppo non vengono utilizzati per il calcolo delle aggregazioni per le aree dati.
Gruppi di aree dati, dopo l'applicazione dei filtri di gruppo Specificano i dati dopo l'applicazione delle espressioni di raggruppamento e dei filtri di gruppo per il gruppo padre e i gruppi figlio. Per una tabella, ciò significa i gruppi di righe e di colonne. Per un grafico, questi sono i gruppi di serie e di categorie. Per identificare il contenimento dell'ambito, ogni gruppo padre contiene i propri gruppi figlio.
Aree dati nidificate Specificano i dati per l'area dati nidificata nel contesto della cella in cui sono stati aggiunti e dopo l'applicazione delle espressioni di filtro e di ordinamento dell'area dati nidificata.
Gruppi di righe e colonne per le aree dati nidificate Specificano i dati dopo l'applicazione delle espressioni di raggruppamento e dei filtri di gruppo dell'area dati nidificata.
Le informazioni sugli ambiti contenitori e gli ambiti contenuti sono importanti quando si scrivono espressioni che includono funzioni di aggregazione.
Ambito della cella ed espressioni
Quando si specifica un ambito, si indica all'elaboratore di report quali dati utilizzare per un calcolo di aggregazione. A seconda dell'espressione e della sua posizione, gli ambiti validi possono essere ambiti contenitori, noti anche come ambiti padre, oppure ambiti contenuti, noti anche come ambiti figlio o nidificati. In generale, non è possibile specificare un'istanza di gruppo singola in un calcolo di aggregazione. È possibile specificare un'aggregazione in tutte le istanze di gruppo.
Quando l'elaboratore di report combina i dati di un dataset del report con l'area dati Tablix, valuta le espressioni di gruppo e crea le righe e le colonne necessarie per rappresentare le istanze del gruppo. Il valore di espressioni in una casella di testo di ogni cella della Tablix viene valutato nel contesto dell'ambito della cella. A seconda della struttura della Tablix, una cella può appartenere a più gruppi di righe e gruppi di colonne. Per le funzioni di aggregazione, è possibile specificare quale ambito utilizzare tramite uno degli ambiti seguenti:
Ambito predefinito I dati che sono nell'ambito per i calcoli quando l'elaboratore di report valuta un'espressione. L'ambito predefinito è il set di gruppi più interno a cui appartiene la cella o il punto dati. Per un'area dati Tablix, nel set possono essere inclusi gruppi di righe e di colonne. Per un'area dati del grafico, nel set possono essere inclusi gruppi di categorie e di serie.
Ambito denominato Il nome di un set di dati, un'area dati o un gruppo dell'area dati che è incluso nell'ambito per l'espressione. Per i calcoli di aggregazioni è possibile specificare un ambito contenitore. Non è possibile specificare un ambito denominato per un gruppo di righe e un gruppo di colonne in un'unica espressione, Non è possibile specificare un ambito limitato a meno che l'espressione non si riferisca a un'aggregazione di un'aggregazione.
L'espressione seguente genera gli anni di intervallo tra SellStartDate e LastReceiptDate. Questi campi si trovano in due set di dati diversi, DataSet1 e DataSet2. La funzione di aggregazione First (Generatore report e SSRS) restituisce il primo valore di SellStartDate in DataSet1 e il primo valore di LastReceiptDate in DataSet2.
=DATEDIFF("yyyy", First(Fields!SellStartDate.Value, "DataSet1"), First(Fields!LastReceiptDate.Value, "DataSet2"))Ambito di dominio Chiamato anche ambito di sincronizzazione. Un tipo di ambito dati applicato alla valutazione delle espressioni per le aree dati annidate. L'ambito del dominio viene utilizzato per specificare i valori aggregati tra tutte le istanze di un gruppo, in modo da consentire l'allineamento e il facile confronto delle istanze nidificate. Ad esempio, è possibile allineare l'intervallo e l'altezza dei grafici sparkline inseriti in una tabella, in modo che i valori siano allineati.
In alcuni punti di un report, è necessario specificare un ambito. Ad esempio per una casella di testo nell'area di progettazione, è necessario specificare il nome del set di dati da utilizzare: =Max(Fields!Sales.Value,"Dataset1"). In altre posizioni, è presente un ambito predefinito implicito. Ad esempio, se non si specifica un'aggregazione per una casella di testo in un ambito del gruppo, viene utilizzata l'aggregazione predefinita First.
In ogni argomento relativo a ciascuna funzione di aggregazione vengono elencati gli ambiti validi per il relativo utilizzo. Per altre informazioni, vedere Riferimento a funzioni di aggregazione (Generatore report e SSRS).
Espressioni di aggregazione di esempio per un'area dati della tabella
Per scrivere espressioni che specificano ambiti non predefiniti ci vuole un po' di pratica. Per comprendere ambiti diversi, utilizzare la figura e la tabella seguenti. Nella figura viene contrassegnata ogni cella della tabella di informazioni sulle vendite in cui è visualizzata la quantità di articoli venduti su base annuale e trimestrale nonché in base al territorio di vendita. Notare gli indicatori visivi sulle maniglie di riga e di colonna che mostrano la struttura dei gruppi di righe e colonne e indicano i gruppi nidificati. La tabella presenta la struttura seguente:
Un'intestazione di tabella contenente la cella d'angolo e tre righe che comprendono le intestazioni dei gruppi di colonne.
Due gruppi di righe annidati basati sulla categoria denominata Cat e sulla sottocategoria denominata SubCat.
Due gruppi di colonne annidati basati sull'anno denominato Year e sul trimestre denominato Qtr.
Una colonna dei totali statici denominata Totals.
Un gruppo di colonne adiacenti basato sul territorio commerciale denominato Territory.
Ai fini della visualizzazione, l'intestazione di colonna per il gruppo di territori è stata suddivisa in due celle. La prima cella consente di visualizzare il nome del territorio e i totali mentre la seconda cella dispone del testo segnaposto con il calcolo del contributo percentuale per ogni territorio a tutte le vendite.
Presupporre che il set di dati sia denominato DataSet1 e la tabella Tablix1. Nella tabella seguente vengono elencate l'etichetta della cella, l'ambito predefinito ed esempi. I valori del testo segnaposto sono mostrati nella sintassi delle espressioni.
| Cella | Ambito predefinito | Etichette segnaposto | Testo o valori segnaposto |
|---|---|---|---|
| C01 | Tablix1 | [Sum(Qty)] | Aggregazioni e ambito=Sum(Fields!Qty.Value) |
| C02 | Gruppo di colonne esterno "Anno" | [Year] ([YearQty]) |
=Fields!Year.Value=Sum(Fields!Qty.Value) |
| C03 | Tablix1 | [Sum(Qty)] | Totali=Sum(Fields!Qty.Value) |
| C04 | Gruppo di colonne correlate "Territorio" | ([Totale]) | Territorio=Sum(Fields!Qty.Value) |
| C05 | Gruppo interno "Qtr" | [Qtr] ([QtrQty]) |
Q=Fields!Qtr.Value=Sum(Fields!Qty.Value) |
| C06 | Gruppo di colonne associato "Territory" | Territorio ([Tty]) [Pct] |
=Fields!Territory.Value=Sum(Fields!Qty.Value)=FormatPercent(Sum(Fields!Qty.Value,"Territory")/Sum(Fields!Qty.Value,"Tablix1"),0) & " of " & Sum(Fields!Qty.Value,"Tablix1") |
| C07 | Gruppo di righe esterno "Cat" | [Cat] [Sum(Qty)] |
=Fields!Cat.Value=Sum(Fields!Qty.Value) |
| C08 | Uguale a C07 | ||
| C09 | Gruppo di righe esterno "Cat" e gruppo di colonne interno "Qtr" | [Sum(Qty)] | =Sum(Fields!Qty.Value) |
| C10 | Uguale a C07 | <<Expr>> | =Sum(Fields!Qty.Value) & ": " & FormatPercent(Sum(Fields!Qty.Value)/Sum(Fields!Qty.Value,"Tablix1"),0) & " of " & Sum(Fields!Qty.Value,"Tablix1") |
| C11 | Gruppo di righe esterno "Cat" e gruppo di colonne "Territory" | <<Expr>> | =Sum(Fields!Qty.Value) & ": " & FormatPercent(Sum(Fields!Qty.Value)/Sum(Fields!Qty.Value,"Territory"),0) & " of " & Sum(Fields!Qty.Value,"Territory") |
| C12 | Gruppo di righe interno "Subcat" | [Subcat] [Sum(Qty)] |
=Fields!SubCat.Value=Sum(Fields!Qty.Value) |
| C13 | Gruppo di righe interno "Subcat" e gruppo di colonne interno "Qtr" | [Sum(Qty)] | =Sum(Fields!Qty.Value) |
| C14 | Gruppo di righe interno "Subcat" | <<Expr>> | =Sum(Fields!Qty.Value) & ": " & FormatPercent(Sum(Fields!Qty.Value)/Sum(Fields!Qty.Value,"Cat"),0) & " of " & Sum(Fields!Qty.Value,"Cat") |
| C15 | Gruppo di righe interno "Subcat" e gruppo di colonne "Territory" | <<Expr>> | =Sum(Fields!Qty.Value) & ": " & FormatPercent(Code.CalcPercentage(Sum(Fields!Qty.Value),Sum(Fields!Qty.Value,"Cat")),0) & " of " & Sum(Fields!Qty.Value,"Cat") |
Per altre informazioni sull'interpretazione dei segnali visivi nelle aree dati Tablix, vedere Celle, righe e colonne dell'area dati Tablix (Generatore report e SSRS). Per altre informazioni sulle aree dati Tablix, vedere Celle, righe e colonne dell'area dati Tablix (Generatore report e SSRS). Per altre informazioni su espressioni e aggregazioni, vedere Uso delle espressioni nei report (Generatore report e SSRS) e Riferimento a funzioni di aggregazione (Generatore report e SSRS).
Sincronizzazione di scale per i grafici sparkline
Per confrontare i valori nel corso del tempo sull'asse orizzontale di un grafico sparkline nidificato in una tabella o matrice, è possibile sincronizzare i valori del gruppo di categorie. Questa operazione viene chiamata allineamento degli assi. Se si seleziona l'opzione per allineare gli assi, nel report vengono impostati automaticamente i valori minimo e massimo di un asse e vengono forniti i segnaposto per i valori di aggregazione che non esistono in ogni categoria. In questo modo i valori nel grafico sparkline si allineano a ogni categoria e consentono di eseguire confronti con i valori di riga di dati aggregati. Se si seleziona questa opzione, si imposta l'ambito della valutazione dell'espressione sull' ambito di dominio. L'impostazione dell'ambito di dominio per un grafico nidificato consente anche di controllare indirettamente l'assegnazione del colore per ogni categoria nella legenda.
Ad esempio, in un grafico sparkline in cui sono mostrate le tendenze settimanali, supporre che di una città si dispone dei dati di vendita relativi a 3 mesi e di un'altra dei dati di vendita relativi a 12 mesi. Senza scale sincronizzate, la sparkline della prima città avrebbe solo 3 barre, che sarebbero molto più larghe e occuperebbero lo stesso spazio della serie di 12 barre mensili della seconda città.
Per altre informazioni, vedere Allineare i dati in un grafico di una tabella o matrice (Generatore report e SSRS).
Sincronizzazione di intervalli per gli indicatori
Per specificare i valori dei dati da utilizzare per un set di indicatori, è necessario specificare un ambito. A seconda del layout dell'area dati che contiene l'indicatore, viene specificato un ambito o un ambito contenitore. Ad esempio, in una riga di intestazione di gruppo associata alla categoria vendite, una serie di frecce (verso l'alto, verso il basso e laterali) può indicare i valori delle vendite rispetto a una soglia. L'ambito contenitore è il nome della tabella o matrice contenente gli indicatori.
Per altre informazioni, vedere Impostare l'ambito di sincronizzazione (Generatore report e SSRS).
Specificare gli ambiti nell'intestazione o nel piè di pagina
Per visualizzare dati differenti in ogni pagina di un report, si aggiungono espressioni a un elemento del report che deve essere nella pagina di cui è stato eseguito il rendering. Poiché un report viene suddiviso in più pagine mentre ne viene eseguito il rendering, è possibile determinare gli elementi presenti in una pagina solo durante questa fase. Ad esempio, una cella in una riga di dettaglio dispone di una casella di testo contenente molte istanze in una pagina.
A tale scopo, esiste una raccolta globale chiamata ReportItems. Si tratta del set di caselle di testo nella pagina corrente.
Per altre informazioni, vedere Intestazioni di pagina e piè di pagina (Generatore report e SSRS) e Riferimenti alla raccolta ReportItems (Generatore report e SSRS).
Specificare un elemento interruttore per il drill-down e la visibilità condizionale
I toggle sono immagini con il segno più o meno aggiunte a una casella di testo e sulle quali l'utente può fare clic per mostrare o nascondere altri elementi del report. Nella pagina Visibilità, per la maggior parte delle proprietà dell'elemento del report, è possibile specificare a quale elemento del report aggiungere il controllo di attivazione/disattivazione. L'elemento di attivazione/disattivazione deve trovarsi in un ambito di contenimento superiore rispetto all'elemento da mostrare o nascondere.
In un'area dati Tablix, per creare un effetto del drill-down in cui si fa clic su una casella di testo per espandere la tabella in modo da visualizzare più dati, è necessario impostare la proprietà Visibilità nel gruppo e selezionare come elemento Toggle una casella di testo in un'intestazione di gruppo associata a un gruppo contenitore.
Per altre informazioni, vedere Aggiungere un'azione Espandi o Comprimi a un elemento (Generatore report e SSRS).
Specificare un'espressione di ordinamento per sincronizzare l'ordine di ordinamento
Quando si aggiunge un pulsante di ordinamento interattivo a una colonna della tabella, è possibile sincronizzare l'ordinamento per più elementi che dispongono di un ambito contenitore comune. Ad esempio, è possibile aggiungere un pulsante di ordinamento a un'intestazione di colonna in una matrice e specificare l'ambito contenitore come nome del set di dati associato alla matrice. Quando un utente fa clic sul pulsante di ordinamento, insieme alle righe della matrice vengono ordinati anche i gruppi di serie di grafici dei grafici associati allo stesso set di dati. In questo modo, tutte le aree dati che dipendono da quel set di dati possono essere sincronizzate per mostrare lo stesso ordinamento.
Per altre informazioni, vedere Filtro, raggruppamento e ordinamento di dati (Generatore report e SSRS).
Eliminazione di valori Null o zero in una cella
Per diversi report i calcoli che presentano i gruppi come ambito possono generare più celle con valori zero (0) o Null. Per evitare disordine nel report, aggiungere un'espressione che consenta di restituire spazi laddove il valore di aggregazione è uguale a 0. Per ulteriori informazioni, vedere "Esempi che nascondono valori Null o zero" in Esempi di espressioni (Generatore report e SSRS).
Contenuto correlato
- Esempi di espressioni nei report paginati da Report Builder
- Esempi di espressioni di raggruppamento nei report impaginati (Generatore report)
- Creazione di gruppi gerarchici ricorsivi in un report paginato (Report Builder)
- Tabelle, matrici e elenchi nei report paginati da Report Builder
- Formattare testo e segnaposto nei report impaginati (Report Builder)