Condividi tramite


Utilizzo di riferimenti a campi predefiniti nelle espressioni (Generatore report 2.0)

La raccolta di campi predefiniti, che include 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 utilizzati nelle espressioni per filtrare i risultati in un report.

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 che può essere utilizzato solo nell'intestazione e nel 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 nel report che è possibile utilizzare solo nell'intestazione e nel piè di pagina.

I membri della raccolta Globals restituiscono una variante. Se si desidera utilizzare 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, utilizzare =CDate(Globals!ExecutionTime). Per ulteriori informazioni, vedere Utilizzo dei tipi di dati nelle espressioni (Generatore report 2.0).

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. Per la formattazione dell'ora viene utilizzata la stringa di formattazione di Microsoft.NET Framework per la data breve:

    =Globals.ReportName & ", dated " & Format(Globals.ExecutionTime, "d")

Utilizzo della raccolta User

La raccolta User contiene i dati relativi all'utente che esegue il report. È possibile utilizzare 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 utilizza l'autenticazione di Windows, questo valore corrisponde all'account di dominio dell'utente corrente. Il valore è determinato dall'estensione di sicurezza di Reporting Services, che può utilizzare l'autenticazione di Windows o quella personalizzata.

Per ulteriori informazioni sul supporto di più lingue in un report, vedere "Considerazioni sulla progettazione di soluzioni per distribuzioni multilingue o globali" nella documentazione di Reporting Services inclusa 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 utilizzata 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 utilizzare 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. Per ulteriori informazioni, vedere "Risoluzione dei problemi relativi all'elaborazione dei report" nella documentazione di Reporting Services inclusa nella documentazione online di SQL Server.