Verwenden erweiterter Feldeigenschaften für eine Analysis Services-Datenbank

Aktualisiert: 14. April 2006

Die SQL Server Analysis Services-Datenverarbeitungserweiterung unterstützt erweiterte Feldeigenschaften. Erweiterte Feldeigenschaften sind zusätzlich zu den für die Datenquelle verfügbaren und von der Datenverarbeitungserweiterung unterstützten Feldeigenschaften Value und IsMissing vorhanden. Erweiterte Eigenschaften werden nicht im Bereich Datasets als Teil der Feldauflistung für ein Berichtsdataset angezeigt. Sie können erweiterte Feldeigenschaftenwerte in den Bericht einbeziehen, indem Sie Ausdrücke schreiben, die deren Namen in der globalen Fields-Auflistung angeben.

Erweiterte Eigenschaften umfassen vordefinierte Eigenschaften und benutzerdefinierte Eigenschaften. Vordefinierte Eigenschaften werden für mehrere Datenquellen gemeinsam verwendet und bestimmten Feldeigenschaftennamen zugeordnet. Sie sind über die globale Fields-Auflistung nach Namen verfügbar. Benutzerdefinierte Eigenschaften werden für jeden Datenprovider einzeln definiert. Auf diese kann über die globale Fields-Auflistung nur mithilfe von Syntax zugegriffen werden, in der der erweiterte Eigenschaftenname als Zeichenfolge verwendet wird.

Wenn Sie die Abfrage mit dem MDX-Abfrage-Designer von Analysis Services im grafischen Modus definieren, wird der MDX-Abfrage automatisch ein vordefinierter Satz von Zelleneigenschaften und Dimensionseigenschaften hinzugefügt. Sie können nur erweiterte Eigenschaften verwenden, die in der MDX-Abfrage im Bericht explizit aufgeführt werden. Je nach Bericht möchten Sie möglicherweise den MDX-Standardbefehlstext so ändern, dass weitere im Cube definierte Dimensions- oder benutzerdefinierte Eigenschaften aufgenommen werden. Weitere Informationen zu erweiterten Feldern, die in Analysis Services-Datenquellen verfügbar sind, finden Sie unter Erstellen und Verwenden von Eigenschaftswerten (MDX).

Arbeiten mit Feldeigenschaften in einem Bericht

Zu erweiterten Feldeigenschaften zählen vordefinierte Eigenschaften und datenproviderspezifische Eigenschaften. Feldeigenschaften werden nicht in der Felderliste im Fenster Datasets angezeigt, obwohl sie in der für ein Dataset erstellten Abfrage vorhanden sind. Deshalb können Sie keine Feldeigenschaften in Ihr Berichtslayout ziehen. Stattdessen ziehen Sie das Feld in den Bericht und ändern anschließend die Value-Eigenschaft des Feldes auf die gewünschte Eigenschaft.

Verwenden Sie die folgende Syntax in einem Ausdruck, um auf eine erweiterte Eigenschaft zu verweisen, die nicht vordefiniert ist:

  • Fields!FieldName("PropertyName")

Vordefinierte Feldeigenschaften

Vordefinierte Feldeigenschaften werden in den meisten Fällen auf Measures, Ebenen oder Dimensionen angewendet. Für eine vordefinierte Feldeigenschaft muss ein entsprechender Wert in der Analysis Services-Datenquelle gespeichert sein. Wenn kein Wert vorhanden ist, oder wenn Sie z. B. eine nur Measure-bezogene Feldeigenschaft auf einer Ebene angeben, gibt die Eigenschaft einen NULL-Wert zurück.

Sie können jede der folgenden Syntaxangaben verwenden, um aus einem Ausdruck auf eine vordefinierte Eigenschaft zu verweisen:

  • Fields!FieldName.PropertyName
  • Fields!FieldName("PropertyName")

In der folgenden Tabelle wird eine Liste der zur Verfügung stehenden vordefinierten Feldeigenschaften bereitgestellt.

Eigenschaft Typ Beschreibung oder erwarteter Wert

Value

Object

Gibt den Datenwert des Feldes an.

IsMissing

Boolean

Gibt an, ob das Feld im resultierenden Dataset gefunden wurde.

UniqueName

String

Gibt den vollqualifizierten Namen einer Ebene zurück. Der UniqueName-Wert für einen Mitarbeiter kann beispielsweise [Employee].[Employee Department].[Department].&[Sales].&[North American Sales Manager].&[272] lauten.

BackgroundColor

String

Gibt die Hintergrundfarbe zurück, die in der Datenbank für das Feld definiert ist.

Color

String

Gibt die Vordergrundfarbe zurück, die in der Datenbank für das Element definiert ist.

FontFamily

String

Gibt den Namen der Schriftart an, die in der Datenbank für das Element definiert ist.

FontSize

String

Gibt den Schriftgrad an, der in der Datenbank für das Element definiert ist.

FontWeight

String

Gibt die Schriftbreite an, die in der Datenbank für das Element definiert ist.

FontStyle

String

Gibt den Schriftschnitt an, der in der Datenbank für das Element definiert ist.

TextDecoration

String

Gibt spezielle Textformatierungen zurück, die in der Datenbank für das Element definiert sind.

FormattedValue

String

Gibt einen formatierten Wert für ein Measure oder eine Kennzahl zurück. Die FormattedValue-Eigenschaft für Verkaufsquote gibt beispielsweise ein Währungsformat wie 1.124.400,00 € zurück.

Key

Object

Gibt den Schlüssel für eine Ebene zurück.

LevelNumber

Integer

Gibt bei Parent-Child-Hierarchien die Nummer der Ebene oder Dimension zurück.

ParentUniqueName

String

Gibt bei Parent-Child-Hierarchien einen vollqualifizierten Namen der übergeordneten Ebene zurück.

Vordefinierte Feldeigenschaften werden in IntelliSense im Ausdrucks-Editor angezeigt, wenn Sie die Syntax für ein Feld eingeben. Weitere Informationen finden Sie unter Verwenden globaler Auflistungen in Ausdrücken (Reporting Services).

ms156477.note(de-de,SQL.90).gifHinweis:
Für diese erweiterten Feldeigenschaften sind nur Werte vorhanden, falls von der Datenquelle (z. B. dem Analysis Services-Cube) Werte bereitgestellt werden, wenn bei der Ausführung des Berichts die Daten für die Datasets abgerufen werden. Sie können anschließend von einem beliebigen Ausdruck aus mithilfe der unten erläuterten Syntax auf diese Feldeigenschaftswerte verweisen. Da diese Felder nur für diesen Datenprovider vorhanden sind, werden jedoch Änderungen, die Sie an diesen Werten vornehmen, nicht mit der Berichtsdefinition gespeichert.

Beispiele für erweiterte Eigenschaften

Zur Veranschaulichung erweiterter Eigenschaften enthalten die folgende MDX-Abfrage und das Resultset mehrere Elementeigenschaften, die von einem für einen Cube definierten Dimensionsattribut verfügbar sind. Dabei handelt es sich um die Elementeigenschaften MEMBER_CAPTION, UNIQUENAME, Properties("Day Name"), MEMBER_VALUE, PARENT_UNIQUE_NAME und MEMBER_KEY.

Diese MDX-Abfrage wird für den AdventureWorks-Cube in der AdventureWorks DW-Datenbank ausgeführt, die mit den AdventureWorks-Beispieldatenbanken geliefert wurde.

WITH MEMBER [Measures].[DateCaption] 
      AS '[Date].[Date].CURRENTMEMBER.MEMBER_CAPTION' 
   MEMBER [Measures].[DateUniqueName] 
      AS '[Date].[Date].CURRENTMEMBER.UNIQUENAME' 
   MEMBER [Measures].[DateDayName] 
      AS '[Date].[Date].Properties("Day Name")' 
   MEMBER [Measures].[DateValueinOriginalDatatype] 
      AS '[Date].[Date].CURRENTMEMBER.MEMBER_VALUE' 
   MEMBER [Measures].[DateParentUniqueName] 
      AS '[Date].[Date].CURRENTMEMBER.PARENT_UNIQUE_NAME' 
   MEMBER [Measures].[DateMemberKeyinOriginalDatatype] 
      AS '[Date].[Date].CURRENTMEMBER.MEMBER_KEY' 
SELECT {
   [Measures].[DateCaption], 
   [Measures].[DateUniqueName], 
   [Measures].[DateDayName], 
   [Measures].[DateValueinOriginalDatatype],
   [Measures].[DateParentUniqueName],
   [Measures].[DateMemberKeyinOriginalDatatype]
   } ON COLUMNS , [Date].[Date].ALLMEMBERS ON ROWS 
FROM [Adventure Works]

Wenn Sie diese Abfrage in einem MDX-Abfragebereich ausführen, erhalten Sie ein Resultset mit 1158 Zeilen. Die ersten vier Zeilen sind in der unten stehenden Tabelle angegeben.

DateCaption DateUniqueName DateDayName DateValueinOriginalDatatype DateParentUniqueName DateMemberKeyinOriginalDatatype

Alle Zeiträume

[Date].[Date].[All Periods]

(null)

(null)

(null)

0

1-Jul-01

[Date].[Date].&[1]

Sonntag

7/1/2001

[Date].[Date].[All Periods]

1

2-Jul-01

[Date].[Date].&[2]

Montag

7/2/2001

[Date].[Date].[All Periods]

2

3-Jul-01

[Date].[Date].&[3]

7/3/2001

[Date].[Date].[All Periods]

3

Im grafischen Modus des MDX-Abfrage-Designers erstellte MDX-Standardabfragen enthalten nur die Dimensionseigenschaften MEMBER_CAPTION und UNIQUENAME. In der Standardeinstellung sind diese Werte stets vom Datentyp String.

Wenn Sie eine Elementeigenschaft im ursprünglichen Datentyp benötigen, können Sie die zusätzliche Eigenschaft MEMBER_VALUE einbeziehen, indem Sie die MDX-Standardanweisung im standardmäßigen Abfrage-Designer ändern. In der folgenden einfachen MDX-Anweisung wurde MEMBER_VALUE der Liste der abzurufenden Dimensionseigenschaften hinzugefügt.

SELECT NON EMPTY {[Measures].[Order Count]} ON COLUMNS, 
NON EMPTY { ([Date].[Month of Year].[Month of Year] ) } 
DIMENSION PROPERTIES 
  MEMBER_CAPTION, MEMBER_UNIQUE_NAME, MEMBER_VALUE ON ROWS 
FROM [Adventure Works]
CELL PROPERTIES 
  VALUE, BACK_COLOR, FORE_COLOR, 
  FORMATTED_VALUE, FORMAT_STRING, 
  FONT_NAME, FONT_SIZE, FONT_FLAGS

In der folgenden Tabelle sind die ersten vier Zeilen des Ergebnisses im MDX-Ergebnisbereich angegeben.

Monat Anzahl Bestellungen

Januar

2,481

Februar

2,684

März

2,749

April

2,739

Zwar sind die Eigenschaften Teil der MDX-Select-Anweisung, doch werden sie nicht in den Spalten des Resultset aufgeführt. Dennoch sind die Daten für einen Bericht verfügbar, wenn das Feature für erweiterte Eigenschaften verwendet wird. Doppelklicken Sie in einem MDX-Abfrageergebnisbereich in SQL Server Management Studio auf die Zelle, um die Zelleigenschaftenwerte anzuzeigen, sofern solche im Cube festgelegt sind. Wenn Sie auf die erste Zelle Anzahl Bestellungen mit dem Wert 1.379 klicken, wird ein Popupfenster mit den folgenden Zelleigenschaften angezeigt:

Eigenschaft Wert

CellOrdinal

0

VALUE

2481

BACK_COLOR

(null)

FORE_COLOR

(null)

FORMATTED_VALUE

2,481

FORMAT_STRING

#,#

FONT_NAME

(null)

FONT_SIZE

(null)

FONT_FLAGS

(null)

Wenn Sie mit dieser Abfrage ein Berichtsdataset erstellen und dieses an eine Tabelle binden, können Sie die VALUE-Standardeigenschaft für ein Feld anzeigen, z. B. =Fields!Month_of_Year!Value. Wenn Sie diesen Ausdruck als Sortierausdruck für die Tabelle festgelegt haben, wird die Tabelle im Ergebnis alphabetisch nach Monat sortiert, da das Value-Feld den Standarddatentyp String annimmt. Wenn die Tabelle in der Reihenfolge der Monate im Jahr sortiert werden soll, d. h. Januar zuerst und Dezember zuletzt, verwenden Sie den folgenden Ausdruck:

=Fields!Month_of_Year("MEMBER_VALUE")

Mit diesem Ausdruck werden die Werte im Feld entsprechend ihres ursprünglichen Datentyps in der Datenquelle sortiert.

Siehe auch

Verweis

Verwenden globaler Auflistungen in Ausdrücken (Reporting Services)

Konzepte

Definieren von Berichtsdatasets für multidimensionale Analysis Services-Daten und Data Mining-Vorhersagedaten
Definieren von Berichtsdatasets für multidimensionale Daten aus einem SAP NetWeaver BI-System

Andere Ressourcen

Verwenden von Ausdrücken in Reporting Services

Hilfe und Informationen

Informationsquellen für SQL Server 2005

Änderungsverlauf

Version Verlauf

12. Dezember 2006

Neuer Inhalt:
  • Ein Beispiel für MEMBER_VALUE wurde hinzugefügt.

14. April 2006

Geänderter Inhalt:
  • Beispiele wurden hinzugefügt, Inhalt wurde aktualisiert.