Riferimenti alle raccolte predefinite Globals e Users (Generatore report e SSRS)
La raccolta di campi predefinita, in cui sono incluse le raccolte Globals
e User
, rappresenta i valori globali forniti da Reporting Services durante l'elaborazione di un report. La raccolta Globals
fornisce valori come il nome del report, l'ora di inizio dell'elaborazione e i numeri di pagina correnti per l'intestazione o il piè di pagina. La raccolta User
fornisce le impostazioni relative a ID utente e lingua. Questi valori possono essere usati nelle espressioni per filtrare i risultati in un report.
Nota
È possibile creare e modificare definizioni del report (con estensione rdl) in Generatore report e in Progettazione report di SQL Server Data Tools. Ogni ambiente di creazione offre modalità differenti per creare, aprire e salvare report ed elementi correlati. Per altre informazioni, vedere Progettazione di report in Progettazione report e Report Builder (SSRS) sul Web in microsoft.com.
Utilizzo della raccolta Globals
La raccolta Globals
contiene le variabili globali per il report. Nell'area di progettazione queste variabili sono precedute dal prefisso & (e commerciale), ad esempio [&ReportName]
. Nella tabella seguente vengono descritti i membri della raccolta Globals
.
Membro | Tipo | Descrizione |
---|---|---|
ExecutionTime | DateTime |
Data e ora di inizio dell'esecuzione del report. |
PageNumber | Integer |
Numero di pagina corrente relativo a interruzioni di pagina che ne determinano la reimpostazione. All'inizio dell'elaborazione del report, il valore è impostato su 1. Il numero di pagina aumenta per ogni pagina di cui è stato eseguito il rendering. Per numerare le pagine all'interno di interruzioni di pagina per un rettangolo, un'area dati, un gruppo di aree dati o una mappa, nella proprietà PageBreak impostare la proprietà ResetPageNumber su True . Non supportato dai gruppi di gerarchie di colonna Tablix.La proprietà PageNumber può essere usata solo in espressioni presenti in un'intestazione o un piè di pagina. |
ReportFolder | String |
Percorso completo della cartella contenente il report. Non include l'URL del server di report. |
ReportName | String |
Nome del report archiviato nel database del server di report. |
ReportServerUrl | String |
URL del server di report in cui il report è in esecuzione. |
TotalPages | Integer |
Numero totale di pagine relativo alle interruzioni di pagina che determinano la reimpostazione di PageNumber. Se non sono impostate interruzioni di pagina, questo valore corrisponde a OverallTotalPages. La proprietà TotalPages può essere usata solo in espressioni presenti in un'intestazione o un piè di pagina. |
PageName | String |
Nome della pagina. All'inizio dell'elaborazione del report, il valore viene impostato da una proprietà del report, InitialPageName. Quando ciascun elemento del report viene elaborato, questo valore viene sostituito con il valore corrispondente di PageName da un rettangolo, un'area dati, un gruppo di aree dati o una mappa. Non supportato dai gruppi di gerarchie di colonna Tablix. La proprietà PageName può essere usata solo in espressioni presenti in un'intestazione o un piè di pagina. |
OverallPageNumber | Integer |
Numero della pagina corrente per l'intero report. ResetPageNumber non ha effetto su questo valore. La proprietà OverallPageNumber può essere usata solo in espressioni presenti in un'intestazione o un piè di pagina. |
OverallTotalPages | Integer |
Numero complessivo di pagine per l'intero report. ResetPageNumber non ha effetto su questo valore. La proprietà OverallTotalPages può essere usata solo in espressioni presenti in un'intestazione o un piè di pagina. |
RenderFormat | RenderFormat |
Informazioni sulla richiesta di rendering corrente. Per altre informazioni, vedere "RenderFormat" nella sezione successiva. |
I membri della raccolta Globals
restituiscono una variante. Se si desidera usare un membro di questa raccolta in un'espressione che richiede un tipo di dati specifico, è necessario eseguire dapprima il cast della variabile. Per convertire, ad esempio, la variante relativa alla data e all'ora di esecuzione in un formato di data, usare =CDate(Globals!ExecutionTime)
. Per altre informazioni, vedere Tipi di dati nelle espressioni (Generatore report e SSRS).
RenderFormat
Nella tabella seguente vengono descritti i membri per RenderFormat
.
Membro | Type | Descrizione |
---|---|---|
Nome | String |
Nome del renderer come registrato nel file di configurazione RSReportServer. Disponibile durante determinate parti del ciclo di elaborazione/rendering del report. |
IsInteractive | Boolean |
Specifica se nella richiesta di rendering corrente è usato un formato di rendering interattivo. |
DeviceInfo | Raccolta nome/valore di sola lettura | Coppie chiave/valore per i parametri deviceinfo per la richiesta di rendering corrente. È possibile specificare i valori stringa usando la chiave o un indice nella raccolta. |
Esempi
Negli esempi seguenti viene illustrato come utilizzare un riferimento alla raccolta Globals
in un'espressione:
L'espressione seguente, inserita in una casella di testo nel piè di pagina di un report, restituisce il numero di pagina e le pagine totali del report:
=Globals.PageNumber & " of " & Globals.TotalPages
Questa espressione restituisce il nome e l'ora di esecuzione del report. L'ora è formattata con la stringa di formattazione per la data breve di Microsoft .NET Framework:
=Globals.ReportName & ", dated " & Format(Globals.ExecutionTime, "d")
Con questa espressione, inserita nella finestra di dialogo Visibilità colonne per una colonna selezionata, viene visualizzata la colonna solo quando il report viene esportato in Excel. In caso contrario, è nascosta.
EXCELOPENXML
si riferisce al formato di Excel incluso in Office 2007.EXCEL
si fa riferimento al formato di Excel incluso in Office 2003.=IIF(Globals!RenderFormat.Name = "EXCELOPENXML" OR Globals!RenderFormat.Name = "EXCEL", false, true)
Utilizzo della raccolta User
La raccolta User
contiene i dati relativi all'utente che esegue il report. È possibile usare questa raccolta per filtrare i dati visualizzati in un report, per mostrare, ad esempio, solo quelli dell'utente corrente o visualizzare l'ID utente nel titolo del report. Nell'area di progettazione queste variabili sono precedute dal prefisso & (e commerciale), ad esempio [&UserID]
.
Nella tabella seguente vengono descritti i membri della raccolta User
.
Membro | Tipo | Descrizione |
---|---|---|
Language |
String |
Lingua dell'utente che esegue il report. Ad esempio: en-US . |
UserID |
String |
ID dell'utente che esegue il report. Se si usa l'autenticazione di Windows, questo valore corrisponde all'account di dominio dell'utente corrente. Il valore è determinato dall'estensione di sicurezza Reporting Services, che può usare l'autenticazione di Windows o l'autenticazione personalizzata. |
Per altre informazioni sul supporto di più lingue in un report, vedere "Considerazioni sulla progettazione delle soluzioni per distribuzioni multilingue o globali" nella documentazione di Reporting Services nella documentazione online di SQL Server.
Utilizzo delle impostazioni locali
È possibile utilizzare espressioni per fare riferimento alle impostazioni locali in un computer client tramite il valore User.Language
, in modo da determinare la modalità di visualizzazione di un report all'utente. È possibile, ad esempio, creare un report in cui venga usata un'espressione di query diversa basata sul valore delle impostazioni locali. La query può essere modificata per recuperare informazioni localizzate da una colonna diversa, a seconda della lingua restituita. È inoltre possibile usare un'espressione per modificare le impostazioni relative alla lingua del report o degli elementi del report in base a questa variabile.
Nota
Benché sia possibile modificare le impostazioni relative alla lingua di un report, è necessario assicurarsi che tale modifica non causi problemi di visualizzazione. La modifica delle impostazioni locali del report potrebbe ad esempio comportare la modifica del formato della data nel report, ma anche la modifica del formato della valuta. A meno che non sia previsto un processo di conversione per la valuta, in questi casi è possibile che nel report venga visualizzato il simbolo di valuta errato. Per evitare tale problema, impostare le informazioni sulla lingua nei singoli elementi da modificare oppure impostare una lingua specifica per l'elemento contenente i dati relativi alla valuta.
Identificazione di UserID per i report relativi a snapshot o cronologia
Nei report che includono la variabile User!UserID è talvolta possibile che non vengano inclusi i dati specifici dell'utente che sta visualizzando il report.
Vedere anche
Espressioni (Generatore report e SSRS)
Finestra di dialogo Espressione (Generatore report)
Tipi di dati nelle espressioni (Generatore report e SSRS)
Formattazione di numeri e date (Generatore report e SSRS)
Esempi di espressioni (Generatore report e SSRS)