Udostępnij za pośrednictwem


Using Dataset Fields Collection References in Expressions (Reporting Services)

Każdy zestaw danych w raporcie zawiera jeden Fields Kolekcja. The Fields kolekcja is the zestaw of fields specified by the dataset query plus any additional calculated fields that you create. Po utworzeniu zestawu danych kolekcja pole pojawia się w Data raportu okienko.

Proste odwołanie do pola w wyrażeniu jest wyświetlane na powierzchni projektowej jako wyrażenie proste.Na przykład, podczas przeciągania pole Sales w okienku danych raportu do komórka tabela na powierzchnię projektu Reporting Services Wyświetla [Sales]. Ten parametr reprezentuje wyrażenie podstawowej =Fields!Sales.Value oznacza to zestaw w polu tekstowym Value Właściwość. Po uruchomieniu raportu procesor raportów obliczy to wyrażenie i wyświetli rzeczywiste dane ze źródła danych w polu tekstowym w komórce tabeli.Aby uzyskać więcej informacji zobacz Understanding Simple and Complex Expressions (Reporting Services) i Working with Fields in a Report Dataset.

Wyświetlanie kolekcji pól zestawu danych

Aby wyświetlić poszczególne wartości dla kolekcji pól, należy przeciągnąć każde pole do wiersza szczegółów tabeli i uruchomić raport.Odwołania z wiersza szczegółów obszaru danych tabeli lub listy spowodują wyświetlenie wartości dla każdego wiersza w zestawie danych.

Aby wyświetlić zsumowane wartości dla pola, należy przeciągnąć każde pole liczbowe do obszaru danych macierzy.funkcja agregacja domyślny dla wiersza sumy jest agregacja, na przykład =Sum(Fields!Sales.Value). Można zmienić domyślnej funkcja do obliczania różnych podsumowań.Aby uzyskać więcej informacji zobacz Using Built-in Report and Aggregate Functions in Expressions (Reporting Services).

Aby wyświetlić zsumowane wartości dla kolekcji pól w polu tekstowym bezpośrednio na powierzchni projektowej (nie jest to część obszaru danych), jako zakres funkcji agregującej należy określić nazwę zestawu danych.Na przykład w przypadku danych, o nazwie SalesData, poniższe wyrażenie określa sumę wszystkich wartości pole Sales: =Sum(Fields!Sales,"SalesData").

Po użyciu Wyrażenie okno dialogowe określenie odwołania proste pole, można wybrać Fields kolekcja w okienku Kategoria i wyświetlić listę pole dostępnych w pole okienko.Każde pole ma kilka właściwości, takie jak Value i IsMissing. Pozostałe właściwości są wstępnie zdefiniowanymi rozszerzonymi właściwościami pola i ich dostępność w zestawie danych jest zależna od typu źródła danych.

Wykrywanie wartości null w polu zestawu danych

Aby wykryć jest wartość null (wartość poleNothing w Visual Basic), można użyć funkcja IsNothing. Po umieszczeniu pole tekstowym w wierszu szczegółów tabela, następujące wyrażenie testuje pole MiddleNamei zamienia tekst "nr drugie imię" ma wartość null, a wartość pole sam ma wartość null nie:

=IIF(IsNothing(Fields!MiddleName.Value),"No Middle Name",Fields!MiddleName.Value)

Wykrywanie braku pól dla zapytań dynamicznych w czasie wykonywania

Domyślnie, elementy w Fields Kolekcja mieć dwie właściwości: Value i IsMissing. The IsMissing właściwość indicates whether a pole that is defined for a dataset at design czas is contained in the fields retrieved at run czas. Na przykład kwerenda może wywoływać procedura przechowywana, w którym zestaw wyników jest różna w zależności od parametru wejściowego lub kwerendy może być SELECT * FROM <table> Jeżeli zmiana definicji tabela.

Uwaga

IsMissing detects changes in the dataset schema between design time and run time for any type of data source.IsMissing cannot be used to detect empty members in a multidimensional cube and is not related to the MDX query language concepts of EMPTY and NON EMPTY.

Można przetestować IsMissing Właściwość w niestandardowym kodem, aby określić, czy pole jest obecne zestaw wyników. Użytkownik nie może testować dla swojej obecności za pomocą wyrażenie z Visual Basic Wywołanie funkcja, takich jak IIF lub SWITCH, ponieważ Visual Basic oblicza wszystkie parametry w wywołaniu funkcja, która powoduje błąd podczas szacowania brakuje odwołania.

Przykład sterowania widocznością kolumny dynamicznej w przypadku brakującego pola

Aby ustawić wyrażenie sterujące widocznością kolumny wyświetlającej pole w zestawie danych, należy najpierw zdefiniować funkcję kodu niestandardowego, która będzie zwracać wartość logiczną na podstawie informacji, czy pole istnieje.Na przykład następująca funkcja kodu niestandardowego zwraca wartość True, jeśli pole nie istnieje, i wartość False, jeśli pole istnieje.

Public Function IsFieldMissing(field as Field) as Boolean
 If (field.IsMissing) Then
 Return True
  Else 
  Return False
 End If
End Function

Aby użyć tej funkcja, aby sterować widocznością kolumna, ustaw Hidden właściwość kolumna na następujące wyrażenie:

=Code.IsFieldMissing(Fields!FieldName)

Kolumna jest ukryta, gdy pole nie istnieje.

Przykład sterowania wartością pola tekstowego w przypadku brakującego pola

Aby podstawić napisany tekst w miejsce wartości brakującego pola, należy napisać kod niestandardowy zwracający tekst, którego będzie można użyć zamiast wartości pola, gdy dane pole nie będzie istnieć.Na przykład następująca funkcja kodu niestandardowego zwraca wartość pola, jeśli pole istnieje, i komunikat określony przez użytkownika jako drugi parametr, jeśli pole nie istnieje.

Public Function IsFieldMissingThenString(field as Field, strMessage as String) as String
 If (field.IsMissing) Then
  Return strMessage
 Else 
  Return field.Value
  End If
End Function

Aby użyć tej funkcja w polu tekstowym, należy dodać następujące wyrażenie, które ma zostać Value Właściwość:

=Code.IsFieldMissingThenString(Fields!FieldName,"Missing")

W polu tekstowym będzie wyświetlana wartość pola lub tekst określony przez użytkownika.

Używanie rozszerzonych właściwości pól

Rozszerzone właściwości pola to dodatkowe właściwości zdefiniowane w polu przez rozszerzenie przetwarzania danych, które są określane przez typ źródła danych zestawu danych.Rozszerzone właściwości pola są wstępnie zdefiniowane lub specyficzne dla typu źródła danych.

Na przykład, właściwości często używanych pole, są wstępnie zdefiniowane właściwości Key i UniqueName. Usługi Reporting Services mapują właściwości dostępne w źródle danych na wstępnie zdefiniowane właściwości pól.Wstępnie zdefiniowane właściwości są wyświetlane z listy opcji IntelliSense w Wyrażenie -okno dialogowe.Podczas wpisywania nazwy pola z użyciem składni kolekcji pól jest wyświetlana lista rozwijana, która zawiera dostępne właściwości.Na przykład, użyj składni odwołania proste pole do wstępnie zdefiniowanych właściwości =Fields!Sales.Value.

Właściwości, które są specyficzne dla typu urządzenie źródłowe danych nie są wyświetlane w Wyrażenie okno dialogowe, ale nie można ustalić poznać urządzenie źródłowe danych z jej projektantem kwerendy skojarzone.Wszystkie właściwość rozszerzone pole można odwoływać się przy użyciu składni kolekcja =Fields!FieldName("Property"). Aby zapoznać się z przykładami właściwości rozszerzonych pole zobacz Using Extended Field Properties for an Analysis Services Dataset. Dla dostawców, którzy obsługują rozszerzone pole właściwości Zobacz Creating Report Datasets from SQL Server Analysis Services, Creating Report Datasets from an SAP NetWeaver BI Data Source, a Creating Report Datasets from a Hyperion Essbase Data Source.

Jeśli zostanie określona właściwość, która nie jest obsługiwana dla tego pole, wyrażenie zostanie oszacowane jako null (Nothing w Visual Basic). Jeśli dostawca danych nie obsługuje właściwość rozszerzonych pole lub pole nie zostanie znaleziony, gdy kwerenda jest wykonywana, wartość właściwość jest null (Nothing w Visual Basic) dla właściwość typu String i Object, a zero (0) dla właściwość typu Integer. Rozszerzenie przetwarzania danych może korzystać z zalet wstępnie zdefiniowanych właściwości, optymalizując zapytania zawierające tę składnię.