Informazioni sui set di dati del report

È 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 Utilizzo di modelli di report come set di dati predefiniti.

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 larghezza, la distinzione dei caratteri accentati e le regole di confronto. Per ulteriori informazioni, vedere Considerazioni sul supporto internazionale per database e applicazioni del Motore di database e Utilizzo delle regole di confronto. Per ulteriori informazioni su come impostare queste proprietà, vedere Finestra di dialogo Proprietà set di dati, Opzioni.

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 consentono di supportare inoltre date, time, datetimetz e datetime2. Per ulteriori informazioni, vedere Tipi di dati (Transact-SQL).

  • Provider di dati oppure estensione per l'elaborazione dati   Tipi di dati supportati dalla versione del provider di dati dell'estensione per l'elaborazione dati selezionata quando si esegue la connessione all'origine 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 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 in un campo del set di dati da un'espressione, vedere Utilizzo dei tipi di dati nelle espressioni (Reporting Services).

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.

  • È 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.

  • È 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.

  • È 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 e Aggiunta di sottoreport.

  • 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 (Reporting Services). 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.

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 (Reporting Services).

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.