Informazioni sui set di dati del report (Generatore report 2.0)
È possibile visualizzare i dati relativi a un set di dati del report come set di righe e di colonne. A tale scopo è necessario che vi siano almeno una colonna e zero o più righe. In fase di progettazione è necessario creare una query che specifichi le colonne da recuperare dall'origine dati. In questa fase si utilizzano i metadati in modo da poter collegare i campi del set di dati alle aree dati e agli elementi del report nell'area di progettazione. In fase di esecuzione, il componente Elaborazione report recupera i dati effettivi e li combina con il layout del report. Il report viene quindi passato a un renderer utilizzato per la relativa visualizzazione.
In fase di progettazione quando si esegue una query del set di dati in una finestra Progettazione query, viene visualizzato un set di righe dell'origine dati in cui sono riportati dati di esempio. In fase di esecuzione, quando un utente visualizza il report, la query del set di dati potrebbe produrre valori differenti in quanto i dati dell'origine dati sono stati modificati. Ogni volta che il report viene elaborato, potrebbero essere visualizzati nuovi dati.
Informazioni sui dati del set di dati del report
Un set di dati del report può essere costituito dai tipi di dati seguenti:
Un set di risultati di un database relazionale restituito in seguito all'esecuzione di comandi di database, stored procedure o funzioni definite dall'utente. Se vengono recuperati più set di risultati tramite una singola query, solo il primo set di risultati viene elaborato e tutti gli altri vengono ignorati. Quando, ad esempio, si esegue la query riportata di seguito nella finestra Progettazione query basata su testo, nel riquadro dei risultati viene visualizzato solo il set di risultati per Production.Product:
SELECT ProductID FROM Production.Product GO SELECT ContactID FROM Person.Contact
Un set di righe bidimensionale restituito da origini dati multidimensionali che utilizzano il protocollo XMLA (XML for Analysis). Alcuni provider di dati forniscono ulteriori proprietà di celle e dimensioni dall'origine dati, che non è possibile visualizzare nel set di risultati ma che sono disponibili nel report.
Un set di risultati bidimensionale restituito da origini dati XML che includono elementi XML, con i relativi attributi ed elementi figlio.
Un set di risultati restituito da qualsiasi provider di dati .NET Framework registrato e configurato.
Dati da un modello di report progettato per una specifica origine dati, con entità, relazioni di entità e campi predefiniti. Per ulteriori informazioni, vedere Creazione di set di dati del report per un modello di report (Generatore report 2.0).
Quando il report viene elaborato in fase di esecuzione, il set di risultati effettivi restituito per una query può includere zero o più righe. È anche possibile che le colonne definite nella query non siano presenti nell'origine dati. I valori Null restituiti dall'origine dati vengono mappati al valore System.DBNull.Value di .NET Framework.
Impostazione delle proprietà dei dati
Quando si definisce un set di dati del report, è possibile impostare le proprietà dei dati nella query oppure accettare quelle predefinite impostate dal provider di dati. È inoltre possibile modificare un tipo di dati mediante una delle strategie seguenti:
Riscrivendo la query del set di dati in modo che converta un campo in un tipo di dati differente.
Modificando il campo nel set di dati e specificando un formato personalizzato.
Creando un nuovo campo personalizzato basato su un campo del database e specificando un formato personalizzato.
Per le origini dati che supportano dati internazionali, potrebbe essere necessario impostare le proprietà di un set di dati che influiscono sull'ordinamento, le proprietà relative ai caratteri internazionali, nonché specificare se i caratteri maiuscoli e minuscoli devono essere considerati allo stesso modo. Tali proprietà includono la distinzione tra maiuscole e minuscole, la distinzione Kana, la larghezza, la distinzione dei caratteri accentati e le regole di confronto. Per ulteriori informazioni, vedere "Considerazioni sul supporto internazionale per database e applicazioni di Motore di database" e "Utilizzo delle regole di confronto" nella documentazione online di SQL Server. Per ulteriori informazioni su come impostare queste proprietà, vedere Finestra di dialogo Proprietà set di dati, Opzioni (Generatore report 2.0).
Informazioni sui tipi di dati in una raccolta di campi del set di dati
Nell'origine dati i dati vengono archiviati in tipi di dati supportati dall'origine stessa. I dati presenti in un database di SQL Server, ad esempio, devono essere di un tipo supportato da SQL Server, come nvarchar o datetime. Quando vengono recuperati dall'origine dati, i dati vengono passati attraverso un'estensione per l'elaborazione dati o un provider di dati associato al tipo di origine dati. In base all'estensione per l'elaborazione dati, i dati possono essere convertiti dai tipi utilizzati dall'origine dati in tipi di dati supportati dall'estensione per l'elaborazione dati. In Reporting Services vengono utilizzati i tipi di dati supportati dalla versione di Common Language Runtime (CLR) installata con Business Intelligence Development Studio. Il provider di dati esegue il mapping di ogni colonna nel set di risultati dal tipo di dati nativo a un tipo di dati CLR di .NET Framework:
In ogni fase i dati vengono rappresentati dai tipi di dati in base a quanto descritto nell'elenco seguente.
Origine dati Tipi di dati supportati dalla versione del tipo di origine dati alla quale ci si sta connettendo.
Tra i tipi di dati utilizzati in genere per un'origine dati SQL Server sono inclusi ad esempio int, datetime e varchar. I tipi di dati introdotti in SQL Server 2008 forniscono il supporto per date, time, datetimetz e datetime2. Per ulteriori informazioni, vedere Tipi di dati (Transact-SQL).
Provider di dati o estensione per l'elaborazione dati Tipi di dati supportati dalla versione del provider di dati dell'estensione per l'elaborazione dei dati selezionata al momento della connessione all'origine dei dati. I provider di dati basati su .NET Framework utilizzano tipi di dati supportati da CLR. Per ulteriori informazioni sui tipi di dati del provider di dati .NET Framework, vedere Mapping di tipi di dati (ADO.NET) e Utilizzo dei tipi di base su MSDN.
Tra i tipi di dati supportati in genere da .NET Framework sono inclusi ad esempio Int32 e String. Le date e le ore del calendario sono supportate dalla struttura DateTime. In .NET Framework 2.0 Service Pack 1 è stato introdotto il supporto per la struttura DateTimeOffset per le date con una differenza di fuso orario.
[!NOTA]
Nel server di report vengono utilizzati i provider di dati installati e configurati nel server di report stesso. Nei client di creazione dei report in modalità di anteprima vengono utilizzate le estensioni per l'elaborazione dati installate e configurate nel computer client. È necessario eseguire il test del report sia nell'ambiente del client che nell'ambiente del server di report.
Elaborazione report Tipi di dati basati sulla versione di CLR installata al momento dell'installazione di Reporting Services. In SQL Server 2008Reporting Services viene installata la versione di CLR basata su .NET Framework 3.5.
I tipi di dati utilizzati ad esempio da Elaborazione report per i nuovi tipi date e time introdotti in SQL Server 2008 sono riportati nella tabella seguente:
Tipo di dati SQL
Tipo di dati CLR
Descrizione
Date
DateTime
Solo data
Time
TimeSpan
Solo ora
DateTimeTZ
DateTimeOffset
Data e ora con differenza di fuso orario
DateTime2
DateTime
Data e ora con millisecondi frazionari
Per ulteriori informazioni sui tipi di database di SQL Server, vedere Tipi di dati (Motore di database) e Funzioni e tipi di dati di data e ora (Transact-SQL).
Per ulteriori informazioni sull'inclusione di riferimenti a un campo del set di dati da un'espressione, vedere Utilizzo dei tipi di dati nelle espressioni (Generatore report 2.0).
Utilizzo di più set di dati
Un report include in genere più set di dati. Nell'elenco seguente vengono descritte le diverse modalità di utilizzo dei set di dati presenti in un report:
Per visualizzare i dati di ogni set di dati è necessario utilizzare un'area dati distinta. Per ulteriori informazioni, vedere Utilizzo delle aree dati (Generatore report 2.0).
È possibile collegare più aree dati a un set di dati e fornire più viste degli stessi dati. Per ulteriori informazioni, vedere Collegamento di più aree dati allo stesso set di dati (Generatore report 2.0).
È possibile utilizzare i set di dati per fornire un elenco a discesa di valori o di valori predefiniti disponibili per un parametro del report. Per ulteriori informazioni, vedere Aggiunta di parametri al report (Generatore report 2.0).
È possibile collegare dati correlati di più set di dati utilizzando parametri con report drill-through o sottoreport. Un report delle vendite può ad esempio mostrare dati riepilogativi per tutti i punti vendita e un collegamento drill-through può specificare l'identificatore del punto vendita come parametro di report con una query del set di dati che recupera le singole vendite per il punto vendita specificato. Per ulteriori informazioni, vedere Aggiunta di report drill-through (Generatore report 2.0) e Aggiunta di sottoreport (Generatore report 2.0).
Non è possibile visualizzare dati dettaglio di più set di dati in una singola area dati. È tuttavia, possibile visualizzare valori di funzioni predefinite o di aggregazione per più set di dati all'interno di un'area dati. Per ulteriori informazioni, vedere Utilizzo delle funzioni predefinite di report e aggregazione nelle espressioni (Generatore report 2.0). Se è necessario combinare dati dettaglio di più set di dati in un'area dati, è necessario riscrivere la query in modo da recuperare i dati come singolo set di dati.
Importazione delle query esistenti per un set di dati
Quando si crea un set di dati, è possibile creare una nuova query o importarne una esistente da un file o da un altro report. Sono supportati solo i tipi di file con estensione sql e rdl. Le query MDX (Multidimensional Expression) o DMX (Data Mining Prediction) possono essere generate solo da una finestra Progettazione query di Reporting Services perché è necessario recuperare un set di risultati come set di righe bidimensionale.
Quando si importa una query da un altro report, è possibile scegliere la query da importare dall'elenco di set di dati nel report.
Visualizzazione di un messaggio quando non vengono recuperate righe di dati in fase di esecuzione
Durante l'elaborazione del report, quando è in esecuzione la query di un set di dati, il set di risultati potrebbe non contenere righe. Nel report sottoposto a rendering un'area dati collegata a un set di dati vuoto viene visualizzata come area dati vuota. Al posto di tale area è possibile specificare il testo da visualizzare nel report sottoposto a rendering. È inoltre possibile specificare un messaggio per i sottoreport quando le query per tutti i set di dati non producono dati in fase di esecuzione. Per ulteriori informazioni, vedere Procedura: Impostazione di una proprietà NoDataMessage per un'area dati (Generatore report 2.0).
Rilevamento dei campi mancanti
Quando il report viene elaborato, il set di risultati per un set di dati potrebbe non contenere valori per tutte le colonne specificate in quanto tali colonne non sono più disponibili nell'origine dati. È possibile utilizzare la proprietà del campo IsMissing per verificare se i valori di un campo sono stati restituiti in fase di esecuzione. Per ulteriori informazioni, vedere Utilizzo di riferimenti alla raccolta di campi del set di dati nelle espressioni (Generatore report 2.0).
Visualizzazione dei set di dati nascosti
Quando si crea una query con parametri per alcune origini dati multidimensionali, in Reporting Services vengono automaticamente creati set di dati per fornire valori validi per il parametro. Per impostazione predefinita, tali set di dati non vengono visualizzati nel riquadro Dati report. Per ulteriori informazioni, vedere Procedura: Visualizzazione di set di dati nascosti (Generatore report 2.0).
Vedere anche