Rozszerzone właściwości pola bazy danych Analysis Services (SSRS)

Rozszerzenie przetwarzania danych usług SQL Server Analysis Services obsługuje właściwości pól rozszerzonych. Właściwości pola rozszerzonego są właściwościami oprócz właściwości pola Value i IsMissing , które są dostępne w źródle danych i obsługiwane przez rozszerzenie przetwarzania danych. Właściwości rozszerzone nie są wyświetlane w okienku Dane raportu w ramach kolekcji pól dla zestawu danych raportu. W raporcie można uwzględnić rozszerzone wartości właściwości pól, pisząc wyrażenia określające je według nazwy przy użyciu wbudowanej kolekcji Pola .

Właściwości rozszerzone obejmują wstępnie zdefiniowane właściwości i właściwości niestandardowe. Wstępnie zdefiniowane właściwości są wspólne dla wielu źródeł danych, które są mapowane na określone nazwy właściwości pól i mogą być dostępne za pośrednictwem wbudowanej kolekcji Pola według nazwy. Właściwości niestandardowe są właściwe dla każdego dostawcy danych i można uzyskać do nich dostęp wyłącznie za pośrednictwem wbudowanej kolekcji Pola przy użyciu składni, w której rozszerzona nazwa właściwości jest podawana jako ciąg znaków.

Gdy używasz projektanta zapytań MDX usług Analysis Services w trybie graficznym do definiowania zapytania, do zapytania MDX jest automatycznie dodawany wstępnie zdefiniowany zestaw właściwości komórek i właściwości wymiaru. W raporcie można używać tylko właściwości rozszerzonych wymienionych specjalnie w zapytaniu MDX. W zależności od raportu możesz zmodyfikować domyślny tekst polecenia MDX, aby uwzględnić inne wymiary lub właściwości niestandardowe zdefiniowane w kostce. Aby uzyskać więcej informacji na temat pól rozszerzonych dostępnych w źródłach danych usług Analysis Services, zobacz Tworzenie i używanie wartości właściwości (MDX).

Praca z właściwościami pól w raporcie

Właściwości pola rozszerzonego obejmują wstępnie zdefiniowane właściwości i właściwości specyficzne dla dostawcy danych. Właściwości pola nie są wyświetlane z listą pól w okienku Dane raportu , mimo że znajdują się one w zapytaniu utworzonym dla zestawu danych; w związku z tym nie można przeciągać właściwości pól na powierzchnię projektową raportu. Zamiast tego należy przeciągnąć pole do raportu, a następnie zmienić właściwość Value pola na właściwość, której chcesz użyć. Jeśli na przykład dane komórki z kostki zostały już sformatowane, możesz użyć właściwości pola FormattedValue, używając następującego wyrażenia: =Fields!FieldName.FormattedValue.

Aby odwołać się do właściwości rozszerzonej, która nie jest wstępnie zdefiniowana, użyj następującej składni w wyrażeniu:

  • Fields!FieldName("PropertyName")

Wstępnie zdefiniowane właściwości pola

W większości przypadków wstępnie zdefiniowane właściwości pola mają zastosowanie do miar, poziomów lub wymiarów. Wstępnie zdefiniowana właściwość pola musi mieć odpowiednią wartość przechowywaną w źródle danych usług Analysis Services. Jeśli wartość nie istnieje lub jeśli określisz właściwość pola wyłącznie pomiarowego na odpowiednim poziomie, właściwość zwraca wartość pustą.

Aby odwołać się do wstępnie zdefiniowanej właściwości z wyrażenia, możesz użyć jednej z następujących składni:

  • Fields!FieldName.PropertyName

  • Fields!FieldName("PropertyName")

Poniższa tabela zawiera listę wstępnie zdefiniowanych właściwości pól, których można użyć.

Property Typ Opis lub oczekiwana wartość
Wartość Obiekt Określa wartość danych pola.
IsMissing Boolean Wskazuje, czy pole zostało znalezione w wynikowym zestawie danych.
Unikatowa nazwa String Zwraca w pełni kwalifikowaną nazwę poziomu. Na przykład wartość UniqueName dla pracownika może być [Pracownik].[Dział pracowników].[Dział].&[Sales].&[Kierownik sprzedaży w Ameryce Północnej].&[272].
Kolor tła String Zwraca kolor tła zdefiniowany w bazie danych dla pola.
color String Zwraca kolor tła pierwszego planu zdefiniowany w bazie danych dla elementu.
FontFamily String Zwraca nazwę czcionki zdefiniowanej w bazie danych elementu.
Rozmiar czcionki String Zwraca rozmiar punktu czcionki zdefiniowanej w bazie danych elementu.
Grubość czcionki String Zwraca wagę czcionki zdefiniowanej w bazie danych dla elementu.
Styl czcionki String Zwraca styl czcionki zdefiniowanej w bazie danych elementu.
TextDecoration String Zwraca specjalne formatowanie tekstu zdefiniowane w bazie danych dla elementu.
Sformatowana wartość String Zwraca sformatowaną wartość metryki lub wartości kluczowej. Na przykład właściwość FormattedValue dla limitu przydziału kwoty sprzedaży zwraca format waluty, taki jak $1,124,400.00.
Klucz Obiekt Zwraca klucz dla poziomu.
LevelNumber Integer W przypadku hierarchii rodzic-dziecko zwraca poziom lub numer wymiaru.
ParentUniqueName String W przypadku hierarchii rodzic-dziecko, zwraca w pełni kwalifikowaną nazwę poziomu nadrzędnego.

Uwaga / Notatka

Wartości istnieją dla tych właściwości pól rozszerzonych tylko wtedy, gdy źródło danych (na przykład moduł usług Analysis Services) udostępnia te wartości po uruchomieniu raportu i pobraniu danych dla jego zestawów danych. Następnie możesz odwołać się do tych wartości właściwości pola z dowolnego wyrażenia przy użyciu składni opisanej w poniższej sekcji. Jednak ponieważ te pola są specyficzne dla tego dostawcy danych, zmiany wprowadzone w tych wartościach nie są zapisywane przy użyciu definicji raportu.

Przykładowe właściwości rozszerzone

Aby zilustrować właściwości rozszerzone, następujące zapytanie MDX i zestaw wyników zawierają kilka właściwości członków dostępnych z atrybutu wymiaru zdefiniowanego dla kostki. Uwzględnione właściwości elementu członkowskiego to MEMBER_CAPTION, UNIQUENAME, Properties("Day Name"), MEMBER_VALUE, PARENT_UNIQUE_NAME i MEMBER_KEY.

To zapytanie MDX jest uruchamiane względem modułu AdventureWorks2025 w bazie danych AdventureWorks2025 DW dołączonej do przykładowych baz danych AdventureWorks2025.

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]  
  

Po uruchomieniu tego zapytania w okienku zapytania MDX otrzymasz zestaw wyników z 1158 wierszami. Pierwsze cztery wiersze są wyświetlane w poniższej tabeli.

DateCaption UnikalnaNazwaDaty DateDayName DateValueinOriginalDatatype DateParentUniqueName (UnikalnaNazwaRodzicaDaty) KluczDatyCzłonkaWTypieOryginalnym
Wszystkie okresy [Date]. [Date]. [Wszystkie okresy] (null) (null) (null) 0
1 lipca 01 [Date]. [Date].&[1] Niedziela 7/1/2001 [Date]. [Date]. [Wszystkie okresy] 1
2 lipca 01 [Date]. [Date].&[2] Monday 7/2/2001 [Date]. [Date]. [Wszystkie okresy] 2
3 lipca-01 [Date].[Date].&[3] Wtorek 7/3/2001 [Date]. [Date]. [Wszystkie okresy] 3

Domyślne zapytania MDX utworzone przy użyciu projektanta zapytań MDX w trybie graficznym obejmują tylko MEMBER_CAPTION i UNIQUENAME dla właściwości wymiarów. Domyślnie te wartości są zawsze typem danych Ciąg.

Jeśli potrzebujesz właściwości elementu członkowskiego w oryginalnym typie danych, możesz dołączyć dodatkową właściwość MEMBER_VALUE, modyfikując domyślną instrukcję MDX w projektancie zapytań opartym na tekście. W poniższym prostym poleceniu MDX, MEMBER_VALUE został dodany do listy właściwości wymiaru, które mają zostać pobrane.

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  

Pierwsze cztery wiersze wyniku w okienku Wyniki MDX są wyświetlane w poniższej tabeli.

Miesiąc roku Liczba zamówień
Styczeń 2,481
luty 2,684
marzec 2,749
Kwiecień 2 739

Mimo że właściwości są częścią instrukcji select MDX, nie są wyświetlane w kolumnach zestawu wyników. Niemniej jednak dane są dostępne dla raportu przy użyciu funkcji właściwości rozszerzonych. W okienku wyników zapytania MDX w programie SQL Server Management Studio możesz kliknąć dwukrotnie komórkę, aby wyświetlić wartości właściwości komórki, jeśli zostały ustawione w kostce. Jeśli klikniesz dwukrotnie pierwszą komórkę z Liczbą zamówień, która zawiera 1 379, zostanie wyświetlone okno podręczne z następującymi właściwościami komórki:

Majątek Wartość
CellOrdinal 0
VALUE 2481
BACK_COLOR (null)
FORE_COLOR (null)
FORMATTED_VALUE 2,481
FORMAT_STRING #, #
FONT_NAME (null)
ROZMIAR_CZCIONKI (null)
Znaczniki czcionki (null)

Jeśli utworzysz zestaw danych raportu z tym zapytaniem i powiążesz zestaw danych z tabelą, zobaczysz domyślną właściwość VALUE dla pola, na przykład =Fields!Month_of_Year!Value. Jeśli to wyrażenie zostanie ustawione jako wyrażenie sortowania dla tabeli, wyniki będą sortować tabelę alfabetycznie według miesiąca, ponieważ pole Wartość używa typu danych Ciąg . Aby posortować tabelę w taki sposób, aby miesiące były w kolejności, w jakiej występują w roku od stycznia pierwszego do grudnia ubiegłego roku, użyj następującego wyrażenia:

=Fields!Month_of_Year("MEMBER_VALUE")  

Spowoduje to posortowanie wartości pola w oryginalnym typie danych całkowitych ze źródła danych.