Použití rozšířených vlastnosti polí pro databázi služby Analysis Services (Tvůrce sestav 3.0)

SQL Server 2008 R2

Rozšíření zpracování dat SQL ServerAnalysis Services podporuje rozšířené vlastnosti polí. Rozšířené vlastnosti polí jsou vlastnosti, které jsou k dispozici navíc k vlastnostem polí Value a IsMissing, které jsou dostupné ve zdrojích dat a podporované rozšířením pro zpracování dat. Rozšířené vlastnosti se nezobrazí v podokně Data sestavy jako součást kolekce polí datové sady sestavy. Hodnoty rozšířených vlastností polí lze zahrnout do sestavy tak, že vytvoříte výrazy využívající předdefinovanou kolekci Fields, která je určuje podle názvu.

Rozšířené vlastnosti zahrnují předdefinované nebo vlastní vlastnosti. Předdefinované vlastnosti jsou vlastnosti, které jsou společné pro více zdrojů dat a jsou přiřazeny ke konkrétním názvům vlastností polí. Přístup k nim je zajištěn prostřednictvím integrované kolekce Fields podle názvu. Vlastní vlastnosti jsou specifické pro každého zprostředkovatele dat a přístup k nim lze získat prostřednictvím integrované kolekce Fields pouze pomocí syntaxe používající název rozšířené vlastnosti jako řetězec.

Při definování dotazu v grafickém režimu návrháře dotazů MDX Analysis Services je do dotazu MDX automaticky vložena předdefinovaná sada vlastností buňky a vlastností dimenze. V sestavě lze použít pouze rozšířené vlastnosti, které jsou výslovně uvedeny v dotazu MDX. V závislosti na sestavě můžete upravit výchozí text příkazu MDX tak, aby zahrnoval jiné vlastnosti dimenze nebo vlastní vlastnosti definované v krychli. Další informace o rozšířených polích dostupných ve zdrojích dat Analysis Services naleznete v článku Creating and Using Property Values (MDX) v dokumentaci služby Reporting Services na webu SQL Server– Knihy online.

Rozšířené vlastnosti jsou také podporovány v rozšíření zpracování dat Reporting Services, které podporuje protokol XMLA (XML for Analysis). Další informace naleznete v článcích Creating Report Datasets from an SAP NetWeaver BI Data Source a Creating Report Datasets from a Hyperion Essbase Data Source v dokumentaci služby Reporting Services na webu SQL Server– Knihy online.

Rozšířené vlastnosti polí zahrnují předdefinované vlastnosti a vlastnosti specifické pro zprostředkovatele dat. Vlastnosti pole se nezobrazují v seznamu polí v podokně Data sestavy, a to ani tehdy, jsou-li součástí dotazu vytvořeného pro datovou sadu. Z tohoto důvodu nelze vlastnosti pole přetáhnout na návrhovou plochu sestavy. Místo toho je třeba pole přetáhnout do sestavy a potom změnit vlastnost pole Value na požadovanou vlastnost. Jestliže již například byla naformátována data buňky v krychli, můžete použít vlastnost pole FormattedValue tak, že použijete výraz =Fields!FieldName.FormattedValue.

Chcete-li vytvořit odkaz na rozšířenou vlastnost, která není předdefinována, použijte ve výrazu následující syntaxi:

  • Fields!FieldName("PropertyName")

Ve většině případů se předdefinované vlastnosti polí vztahují k mírám, úrovním a dimenzím. Předdefinovaná vlastnost pole musí obsahovat odpovídající hodnotu uloženou ve zdroji dat Analysis Services. Pokud hodnota neexistuje, nebo pokud například zadáte vlastnost pole pouze pro míru na úrovni, vrátí vlastnost hodnotu null.

Kteroukoli z následujících syntaxí lze použít k vytvoření odkazu na předdefinovanou vlastnost ve výrazu:

  • Fields!FieldName.PropertyName

  • Fields!FieldName("PropertyName")

Následující tabulka obsahuje seznam předdefinovaných vlastností polí, které lze použít.

Vlastnost

Typ

Popis nebo očekávaná hodnota

Value

Object

Určuje hodnotu dat pole.

IsMissing

Boolean

Určuje, že pole bylo nalezeno ve výsledné datové sadě.

UniqueName

String

Vrátí plně kvalifikovaný název úrovně. Například hodnota UniqueName pro zaměstnance by mohla být [Employee].[Employee Department].[Department].&[Sales].&[North American Sales Manager].&[272].

BackgroundColor

String

Vrátí barvu pozadí definovanou v databázi pro pole.

Color

String

Vrátí barvu popředí definovanou v databázi pro položku.

FontFamily

String

Vrátí název písma definovaný v databázi pro položku.

FontSize

String

Vrátí velikost bodu definovanou v databázi pro položku.

FontWeight

String

Vrátí tloušťku písma definovanou v databázi pro položku.

FontStyle

String

Vrátí styl písma definovaný v databázi pro položku.

TextDecoration

String

Vrátí speciální formátování textu definované v databázi pro položku.

FormattedValue

String

Vrátí formátovanou hodnotu pro míru nebo klíčový prvek. Vlastnost FormattedValue pro položku Kvóta částky prodeje například vrátí formát měny 1 124 400,00 Kč.

Key

Object

Vrátí klíč pro danou úroveň.

LevelNumber

Integer

V případě hierarchií nadřazených a podřízených položek vrátí číslo úrovně nebo dimenze.

ParentUniqueName

String

V případě hierarchií nadřazených a podřízených položek vrátí plně kvalifikovaný název nadřazené úrovně.

Poznámka Poznámka

Hodnoty pro rozšířené vlastnosti polí existují, jen pokud zdroj dat (například datová krychle Analysis Services) poskytuje tyto hodnoty při spuštění sestavy a načtení dat pro příslušné datové sady. Potom můžete odkazovat na tyto hodnoty vlastnosti polí z jakéhokoli výrazu pomocí syntaxe popsané v následující části. Vzhledem k tomu, že jsou tato pole specifická pro tohoto zprostředkovatele dat, provedené změny hodnot nebudou uloženy v definici sestavy.

Příklady rozšířených vlastností polí

Pro ilustraci rozšířených vlastností je do následujícího dotazu MDX a výsledné sady zahrnuto několik vlastností členů dostupných z atributu dimenze definovaného pro krychli. Tyto vlastnosti členů jsou MEMBER_CAPTION, UNIQUENAME, Properties(„název dne“), MEMBER_VALUE, PARENT_UNIQUE_NAME a MEMBER_KEY.

Tento dotaz MDX se spouští u krychle AdventureWorks2008R2 v databázi AdventureWorks2008R2 DW, která je součástí vzorových databází AdventureWorks2008R2.

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]

Při spuštění tohoto dotazu v podokně dotazu MDX obdržíte výslednou sadu s 1 158 řádky. V následující tabulce jsou uvedeny první čtyři řádky.

DateCaption

DateUniqueName

DateDayName

DateValueinOriginalDatatype

DateParentUniqueName

DateMemberKeyinOriginalDatatype

Všechna období

[datum].[datum].[všechna období]

(null)

(null)

(null)

0

1. července 2001

[datum].[datum].&[1]

Neděle

7/1/2001

[datum].[datum].[všechna období]

1

2. července 2001

[datum].[datum].&[2]

Pondělí

7/2/2001

[datum].[datum].[všechna období]

2

3. července 2001

[datum].[datum].&[3]

Úterý

7/3/2001

[datum].[datum].[všechna období]

3

Výchozí dotazy MDX vytvořené v návrháři dotazů MDX v grafickém režimu zahrnují pouze vlastnosti dimenze MEMBER_CAPTION a UNIQUENAME. Ve výchozím nastavení jsou tyto hodnoty vždy datovým typem String.

Potřebujete-li vlastnost člena v jeho původním datovém typu, můžete přidat doplňkovou vlastnost MEMBER_VALUE tak, že upravíte výchozí příkaz MDX v textovém návrháři dotazů. V následujícím jednoduchém příkazu MDX byla do seznamu vlastností dimenze, který se má načíst, přidána vlastnost MEMBER_VALUE.

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

V následující tabulce jsou uvedeny první čtyři řádky výsledku, který se zobrazí v podokně Výsledky MDX.

Měsíc roku

Počet objednávek

Leden

2,481

Únor

2,684

Březen

2,749

Duben

2,739

Přestože jsou vlastnosti součástí příkazu MDX pro výběr, nezobrazují se ve sloupcích výsledné sady. Nicméně data jsou dostupná pro použití v sestavě prostřednictvím funkce rozšířených vlastností. V podokně výsledků dotazu MDX v aplikaci SQL ServerManagement Studio můžete dvakrát kliknout na buňku a zobrazit hodnoty vlastnosti buňky, pokud jsou v datové krychli nastaveny. Jestliže dvakrát kliknete na první buňku Počet objednávek, která obsahuje hodnotu 1 379, zobrazí se automaticky otevírané okno s následujícími vlastnostmi buňky:

Vlastnost

Hodnota

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)

Jestliže pomocí tohoto dotazu vytvoříte datovou sadu sestavy a svážete ji s tabulkou, můžete zobrazit výchozí vlastnost VALUE pro pole, například =Fields!Month_of_Year!Value. Jestliže tento výraz nastavíte jako výraz řazení tabulky, budou výsledky seřazeny v tabulce v abecedním pořadí podle měsíce, protože pole Value používá datový typ String. Chcete-li tabulku seřadit tak, aby měsíce byly uspořádány jako v kalendáři (tj. leden na prvním místě a prosinec na posledním), použijte následující výraz:

=Fields!Month_of_Year("MEMBER_VALUE")

Pomocí tohoto výrazu seřadíte hodnotu pole podle původního celočíselného datového typu jako ve zdroji dat.

Obsah vytvořený komunitou

Přidat
Zobrazit: