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).
Hinweis: |
---|
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 |
|
14. April 2006 |
|