Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Szczegółowo analizuje członków zbioru do poziomu poniżej najniższego poziomu reprezentowanego w zbiorze.
Określenie poziomu, na którym chcesz się zagłębić, jest opcjonalne, ale jeśli już go ustawisz, możesz użyć wyrażenia poziomu lub poziomu indeksowego. Te argumenty są wzajemnie wykluczające się. Na koniec, jeśli w zapytaniu obecne są obliczone członki, możesz określić argument, który uwzględni je w zestawie wierszy.
Syntax
DrilldownLevel(Set_Expression [,[Level_Expression] ,[Index]] [,INCLUDE_CALC_MEMBERS])
Arguments
Wyrażenie_docelowe
Poprawne wyrażenie z wyrażeń wielowymiarowych (MDX), które zwraca zbiór.
Level_Expression
(Opcjonalnie). Wyrażenie MDX, które wyraźnie wskazuje poziom, na którym należy przeprowadzić analizę. Jeśli określisz wyrażenie poziomu, pomiń argument indeksu poniżej.
Indeks
(Opcjonalnie). Poprawne wyrażenie liczbowe, które określa numer hierarchiczny, który należy dokładnie przeanalizować w zbiorze. Możesz użyć poziomu indeksu zamiast Level_Expression, aby wyraźnie określić, na którym poziomie chcesz się pogłębić.
Include_Calc_Members
(Opcjonalnie). Flaga wskazująca, czy uwzględnić wyliczone członki, jeśli istnieją, na poziomie drill down.
Remarks
Funkcja DrilldownLevel zwraca zestaw podrzędnych członków w hierarchicznej kolejności, na podstawie członków zawartych w określonym zbiorze. Kolejność jest zachowana wśród oryginalnych członków w określonym zbiorze, z wyjątkiem tego, że wszyscy potomni członkowie zawarti w zbiorze wyników funkcji są bezpośrednio pod swoim członkiem nadrzędnym.
Mając wielopoziomową hierarchiczną strukturę danych, możesz wyraźnie wybrać poziom, na którym chcesz się zagłębić. Istnieją dwa wzajemnie wykluczające się sposoby określania poziomu. Pierwszym podejściem jest ustawienie argumentu level_expression za pomocą wyrażenia MDX, które zwraca poziom. Alternatywnym podejściem jest określenie argumentu indeksowego , używając wyrażenia numerycznego określającego poziom według liczby.
Jeśli określone jest wyrażenie poziomowe, funkcja konstruuje zbiór w hierarchicznym porządku, pobierając dzieci tylko tych członków znajdujących się na określonym poziomie. Jeśli określone jest wyrażenie poziomowe, a na tym poziomie nie ma członka, wyrażenie poziomowe jest ignorowane.
Jeśli podana jest wartość indeksu, funkcja konstruuje zbiór w hierarchicznym porządku, pobierając dzieci tylko tych członków, którzy znajdują się na najniższym poziomie hierarchii przypisanej w określonym zbiorze, przy danym indeksie opartym na zerze.
Jeśli nie podano ani wyrażenia poziomowego, ani wartości indeksowej, funkcja konstruuje zbiór w hierarchicznym porządku, pobierając dzieci tylko tych członków, którzy znajdują się na najniższym poziomie pierwszego wymiaru odwołanego w określonym zbiorze.
Zapytanie do właściwości XMLA MdpropMdxDrillFunctions pozwala zweryfikować poziom wsparcia, jaki serwer zapewnia dla funkcji wiercenia; szczegóły można znaleźć w sekcji Wspierane właściwości XMLA (XMLA).
Examples
Możesz spróbować poniższych przykładów w oknie zapytania MDX w SSMS, korzystając z kostki Adventure Works.
Przykład 1 – demonstruje minimalną składnię
Pierwszy przykład pokazuje minimalną składnię DrilldownLevel. Jedynym wymaganym argumentem jest wyrażenie zbiorowe. Zauważ, że gdy uruchamiasz to zapytanie, otrzymujesz nadrzędne [Wszystkie kategorie] oraz członków następnego poziomu niżej: [Akcesoria], [Rowery] i tak dalej. Chociaż ten przykład jest prosty, pokazuje podstawowy cel funkcji DrilldownLevel , która polega na przejściu do kolejnego poziomu poniżej.
SELECT DRILLDOWNLEVEL({[Product].[Product Categories]} * {[Sales Territory].[Sales Territory]}}) ON COLUMNS
FROM [Adventure Works]
Przykład 2 – alternatywna składnia z użyciem jawnego poziomu indeksu
Ten przykład demonstruje alternatywną składnię, gdzie poziom indeksu jest określony za pomocą wyrażenia liczbowego. W tym przypadku poziom indeksu wynosi 0. Dla indeksu opartego na zerze jest to najniższy poziom.
SELECT
DRILLDOWNLEVEL({[Product].[Product Categories]} * {[Sales Territory].[Sales Territory]},,0) ON COLUMNS
FROM [Adventure Works]
Zauważmy, że zbiór wyników jest identyczny z poprzednim zapytaniem. Zasadniczo ustawianie poziomu indeksu jest niepotrzebne, chyba że chcesz, aby drill zaczynał się od konkretnego poziomu. Ponownie uruchom poprzednie zapytanie, ustawiając wartość indeksu na 1, a następnie na 2. Przy ustawieniu wartości indeksu na 1, zobaczymy, że drill down zaczyna się na drugim poziomie hierarchii. Przy ustawieniu wartości indeksu na 2, drill down zaczyna się na trzecim poziomie, najwyższym w tym przykładzie. Im wyższe wyrażenie liczbowe, tym wyższy poziom indeksu.
Przykład 3 – demonstruje wyrażenie poziomowe
Następny przykład pokazuje, jak użyć wyrażenia poziomu. Mając zbiór reprezentujący strukturę hierarchiczną, użycie wyrażenia poziomu pozwala wybrać poziom w hierarchii, aby rozpocząć dalsze analizy.
W tym przykładzie poziom drill down zaczyna się od [City], jako drugi argument funkcji DrilldownLevel . Gdy uruchamiasz to zapytanie, zaczyna się od poziomu [City], dla stanów Waszyngton i Oregon. Zgodnie z funkcją DrilldownLevel , zestaw wyników zawiera również członków na kolejnym poziomie, [kody pocztowe].
SELECT [Measures].[Internet Sales Amount] ON COLUMNS,
NON EMPTY (
DRILLDOWNLEVEL(
{[Customer].[Customer Geography].[Country].[United States],
DESCENDANTS(
{ [Customer].[Customer Geography].[State-Province].[Washington],
[Customer].[Customer Geography].[State-Province].[Oregon]},
[Customer].[Customer Geography].[City]) } ,
[Customer].[Customer Geography].[City] ) ) ON ROWS
FROM [Adventure Works]
Przykład 4 – wliczając obliczane elementy
Ostatni przykład pokazuje obliczony członko, który pojawia się na dole zbioru wyników po dodaniu flagi include_calculated_members . Zwróć uwagę, że flaga jest określona jako czwarty parametr.
Ten przykład działa, ponieważ obliczony człon znajduje się na tym samym poziomie co nieobliczeni członki. Obliczony członek [West Coast] składa się z członków z [Stany Zjednoczone] oraz wszystkich członków o jeden poziom niżej niż [Stany Zjednoczone].
WITH MEMBER
[Customer].[Customer Geography].[Country].&[United States].[West Coast] AS
[Customer].[Customer Geography].[State-Province].&[OR]&[US] +
[Customer].[Customer Geography].[State-Province].&[WA]&[US] +
[Customer].[Customer Geography].[State-Province].&[CA]&[US]
SELECT [Measures].[Internet Order Count] ON 0,
DRILLDOWNLEVEL([Customer].[Customer Geography].[Country].&[United States],,,INCLUDE_CALC_MEMBERS) on 1
FROM [Adventure Works]
Jeśli usuniesz tylko flagę i ponownie uruchomisz zapytanie, otrzymasz te same wyniki, z wyjątkiem obliczonego członka [West Coast].