Arbeiten mit Feldern in einem Berichtsdataset (Berichts-Generator 2.0)

Datasetfelder werden verwendet, um eine Verknüpfung zwischen Berichtselementen, wie Tabellen und Diagrammen, und den Berichtsdaten bereitzustellen. Ein Feld kann eine direkte Verknüpfung mit einer Spalte sein, die von einer Abfrage zurückgegeben wird, oder es kann sich um ein von Ihnen definiertes berechnetes Feld handeln.

Datasetfelder sind dabei nicht mit integrierten Feldern identisch. Bei integrierten Feldern handelt es sich um eine Gruppe von vordefinierten Feldern, die von Berichts-Generator 2.0 bereitgestellt werden. Sie enthalten Berichtsinformationen, wie zum Beispiel den Berichtsnamen oder den Timestamp des Zeitpunkts, zu dem der Bericht verarbeitet wurde. Weitere Informationen finden Sie unter Verwenden von integrierten Feldverweisen in Ausdrücken (Berichts-Generator 2.0).

Um Datasetfeldwerte in einem Bericht anzuzeigen, ziehen Sie diese in die Textfelder der Entwurfsoberfläche oder der Datenbereichszellen bzw. in die Ablagezonen von Diagrammen und Messgeräten. Datasetfelder können numerische und nicht numerische Daten sowie andere Datentypen einer Datenbank darstellen, zum Beispiel URLs für Drillthroughberichte und E-Mail-Adressen für Abonnenten.

Arbeiten mit der Feldauflistung

Datasetfelder werden über die Datasetabfrage und über von Ihnen definierte berechnete Felder angegeben. Nachdem Sie ein Dataset erstellt haben, können Sie die Datasetfeldauflistung anzeigen, indem Sie im Bereich Berichtsdaten den Datasetknoten erweitern. Wenn Sie die Abfrage für das Dataset ändern, werden die Datenbankfelder jeweils automatisch aktualisiert.

Sie geben ein berechnetes Feld manuell an, indem Sie einen Ausdruck erstellen. Sie können berechnete Felder verwenden, um neue Werte zu erstellen, die unter der Datenquelle nicht vorhanden sind. Ein berechnetes Feld kann zum Beispiel einen neuen Wert, eine benutzerdefinierte Sortierreihenfolge für eine Gruppe von Feldern oder ein vorhandenes Feld darstellen, das in einen anderen Datentyp konvertiert wird. Weitere Informationen finden Sie unter Vorgehensweise: Hinzufügen, Bearbeiten oder Löschen eines Felds im Fenster 'Berichtsdaten' (Berichts-Generator 2.0).

Verknüpfen eines Datasetfelds mit einem Berichtselement

Die folgenden Berichtselemente können die Daten eines Datasets anzeigen: Textfeld, Tabelle, Matrix, Liste, Diagramm und Messgerät. Um ein Feld mit einem Berichtselement zu verknüpfen, können Sie das Feld aus dem Bereich Berichtsdaten ziehen oder das Symbol des Berichtselements für die Feldauswahl verwenden. Die einfachste Möglichkeit, ein Feld mit Diagrammkategorie-Ablagezonen zu verknüpfen, ist die Verwendung der Feldauswahl. Bei einem Tablix-Element mit einer bestehenden Zeilengruppe können Sie ein Feld in den Tablix-Zeilengruppenbereich ziehen, um zusätzliche geschachtelte Felder hinzuzufügen. Wenn Sie ein Feld in den Tablix-Textbereich ziehen, können Sie eine neue Spalte hinzufügen, in der für das Feld automatisch Standardwerte eingefügt werden.

Weitere Informationen zum Hinzufügen von Feldern zu Berichtselementen auf der Entwurfsoberfläche finden Sie unter den speziellen Berichtselementtypen unter Entwerfen des Berichtslayouts (Berichts-Generator 2.0).

Wenn die gewünschten Ergebnisse nicht in der Datasetfeldauflistung angezeigt werden, wird auf "Problembehandlung bei Berichten" in der Reporting Services-Dokumentation in der SQL Server-Onlinedokumentation verwiesen.

Grundlegendes zu Standardausdrücken

Bei einem Textfeld kann es sich um ein Textfeld-Berichtselement im Text des Berichts oder um ein Textfeld in einer Zelle eines Tablix-Datenbereichs handeln. Wenn Sie ein Feld mit einem Textfeld verknüpfen, gibt die Position des Textfelds den Standardausdruck für den Feldverweis vor. Im Hauptteil des Berichts muss ein Textfeldwert-Ausdruck ein Aggregat und ein Dataset angeben. Wenn im Bericht nur ein Dataset vorhanden ist, wird dieser Standardausdruck für Sie erstellt. Die Standardaggregatfunktion für numerische Felder ist Sum. Das Standardaggregat für nicht numerische Felder ist First.

In einem Tablix-Datenbereich hängt der Standardfeldausdruck von den Zeilen- und Gruppenmitgliedschaften des Textfelds ab, dem Sie das Feld hinzufügen. Der Feldausdruck für das Feld Sales lautet [Sales], wenn Sie dieses einem Textfeld in der Detailzeile einer Tabelle hinzufügen. Wenn Sie dasselbe Feld einem Textfeld in einem Gruppenkopf hinzufügen, lautet der Standardausdruck (Sum[Sales]). Dies liegt daran, dass der Gruppenkopf zusammenfassende Werte für die Gruppe anzeigt, keine Detailwerte. Beim Ausführen des Berichts wertet der Berichtsprozessor die einzelnen Ausdrücke aus und ersetzt das Ergebnis im Bericht.

Verwenden von erweiterten Feldeigenschaften

Datenquellen, die mehrdimensionale Abfragen unterstützen, zum Beispiel SQL ServerAnalysis Services, unterstützen auch Feldeigenschaften in Feldern. Feldeigenschaften werden im Resultset einer Abfrage angezeigt, sind im Bereich Berichtsdaten jedoch nicht sichtbar. Sie stehen trotzdem zur Verwendung im Bericht zur Verfügung. Wenn Sie auf eine Eigenschaft für ein Feld verweisen möchten, ziehen Sie das Feld in den Bericht und ändern die Standardeigenschaft Value in den Feldnamen der gewünschten Eigenschaft. In einem Analysis Services-Cube können Sie zum Beispiel Formate für Werte in den Cubezellen definieren. Der formatierte Wert ist mithilfe der Feldeigenschaft FormattedValue verfügbar. Um den Wert direkt zu verwenden, anstatt einen Wert zu verwenden und die Formateigenschaft des Textfelds festzulegen, ziehen Sie das Feld in das Textfeld und ändern den Standardausdruck =Fields!FieldName.Value in =Fields!FieldName.FormattedValue.

HinweisHinweis

Nicht alle Field-Eigenschaften können für alle Datenquellen verwendet werden. Die Value- und die IsMissing-Eigenschaft werden für alle Datenquellen definiert. Weitere vordefinierte Eigenschaften (zum Beispiel Key, UniqueName und ParentUniqueName für mehrdimensionale Datenquellen) werden nur unterstützt, wenn die Datenquelle diese Eigenschaften bereitstellt. Benutzerdefinierte Eigenschaften werden von einigen Datenanbietern unterstützt. Weitere Informationen finden Sie in den entsprechenden Themen über erweiterte Feldeigenschaften für den Datenquellentyp unter Erstellen eines Berichtsdatasets (Berichts-Generator 2.0). Sehen Sie für eine SQL ServerAnalysis Services-Datenquelle zum Beispiel unter Verwenden erweiterter Feldeigenschaften für eine Analysis Services-Datenbank (Berichts-Generator 2.0) nach.

Arbeiten mit Felddatentypen

Beim Erstellen eines Datasets kann es sein, dass die Datentypen der Felder einer Datenquelle nicht genau den Datentypen entsprechen, die in einem Bericht verwendet werden. Datentypen durchlaufen in der Regel eine oder zwei Zuordnungsebenen. Gegebenenfalls ordnet die Datenverarbeitungserweiterung bzw. der Datenanbieter die Datentypen der Datenquelle CLR-Datentypen (Common Language Runtime) zu. Die Datentypen, die von den Datenverarbeitungserweiterungen zurückgegeben werden, werden einer Teilmenge der CLR-Datentypen (Common Language Runtime) von .NET Framework zugeordnet. 

Grundlegendes zu Datentypen in einer Datasetfeldauflistung

Unter der Datenquelle werden die Daten als Datentypen gespeichert, die von der Datenquelle unterstützt werden. Bei Daten in einer SQL Server-Datenbank muss es sich zum Beispiel um einen der unterstützten SQL Server-Datentypen wie nvarchar oder datetime handeln. Wenn Sie Daten aus einer Datenquelle abrufen, durchlaufen die Daten eine Datenverarbeitungserweiterung oder einen Datenanbieter, die bzw. der dem Datenquellentyp zugeordnet ist. Je nach Datenverarbeitungserweiterung können Daten von den Datentypen, die von der Datenquelle verwendet werden, in Datentypen konvertiert werden, die von der Datenverarbeitungserweiterung unterstützt werden. Reporting Services verwendet Datentypen, die von der CLR-Version (Common Language Runtime) unterstützt werden, die mit Berichts-Generator 2.0 installiert wurden.

HinweisHinweis

Die Datenquellen, Datenanbieter und Datentypen, die von der Berichtsverarbeitung bei der Vorschau eines Berichts verwendet werden, hängen davon ab, ob Sie bei einem Berichtsserver angemeldet sind. Wenn Sie bei einem Berichtsserver angemeldet sind, erfolgt die Berichtsverarbeitung auf dem Server. Wenn Sie nicht bei einem Berichtsserver angemeldet sind, erfolgt die Berichtsverarbeitung in der lokalen Vorschau. In der lokalen Vorschau verwendet der Berichtsprozessor die Datenanbieter und Datentypen, die mit Berichts-Generator 2.0 installiert oder eine Voraussetzung für Berichts-Generator 2.0 sind.

Die Berichtsdaten fließen aus der Datenquelle über den Datenanbieter bzw. die Datenverarbeitungserweiterung an die Berichtsverarbeitungskomponente. Der Datenanbieter ändert die Zuordnung der einzelnen Spalten des Resultsets vom systemeigenen Datentyp in einen Microsoft.NET Framework-CLR-Datentyp: In den einzelnen Phasen werden die Daten mit den Datentypen dargestellt, die in der folgenden Liste beschrieben sind: 

  • Datenquelle   Die Datentypen, die von der Version des Datenquellentyps unterstützt werden, zu der Sie eine Verbindung herstellen.

    Typische Datentypen für eine SQL Server 2005-Datenquelle sind zum Beispiel int, datetime und varchar. Mit den von SQL Server 2008 eingeführten Datentypen wird die Unterstützung von date, time, datetimetz und datetime2 hinzugefügt. Weitere Informationen finden Sie unter Datentypen (Transact-SQL).

  • Datenanbieter oder Datenverarbeitungserweiterung Die Datentypen, die von der Version des Anbieters der Datenverarbeitungserweiterung unterstützt werden, die Sie beim Herstellen der Verbindung zur Datenquelle auswählen. Datenanbieter, die auf .NET Framework basieren, verwenden von der CLR unterstützte Datentypen.

    Typische Datentypen, die von .NET Framework unterstützt werden, sind zum Beispiel Int32 und String. Datum und Uhrzeit für Kalender werden von der DateTime-Struktur unterstützt. Mit dem .NET Framework 2.0 Service Pack 1 wurde die Unterstützung der DateTimeOffset-Struktur für Daten mit einem Zeitzonenoffset eingeführt. Weitere Informationen zu Fragen im Zusammenhang mit dem Zeitzonenwechsel finden Sie unter Auswählen zwischen DateTime, DateTimeOffset und TimeZoneInfo.

  • Berichtsprozessor   Die Datentypen basieren auf der CLR-Version, die bei der Installation von Berichts-Generator installiert waren.

    Die Datentypen, die der Berichtsprozessor auf einem Berichtsserver für die neuen Datum- und Uhrzeittypen verwendet, die mit SQL Server 2008 eingeführt werden, sind in der folgenden Tabelle aufgeführt:

    SQL-Datentyp

    CLR-Datentyp

    Beschreibung

    Date

    DateTime

    Nur Datum

    Time

    TimeSpan

    Nur Uhrzeit

    DateTimeTZ

    DateTimeOffset

    Datum und Uhrzeit mit Zeitzonenoffset

    DateTime2

    DateTime

    Datum und Uhrzeit mit Bruchteilen von Millisekunden

Weitere Informationen über SQL Server Datenbanktypen finden Sie unter Datums- und Uhrzeitdatentypen und zugehörige Funktionen (Transact-SQL). Weitere Informationen zu CLR-Datentypen finden Sie unter Arbeiten mit Basistypen.

Weitere Informationen zu Datentypen des Microsoft.NET Framework-Datenanbieters finden Sie unter Datentypzuordnungen (ADO.NET).

Weitere Informationen finden Sie unter Arbeiten mit Datentypen in Ausdrücken (Berichts-Generator 2.0) und "Datentypen in der Berichtsdefinitionssprache" in der Reporting Services-Dokumentation in der SQL Server-Onlinedokumentation.