Za pomocą funkcji zestawu
Funkcja set pobiera zestaw z wymiarów, hierarchii, poziom lub przechodzenie przez względne i bezwzględne położenie elementów członkowskich w ramach tych obiektów, tworząc zestawów w różny sposób.
Zestaw funkcji, funkcje składowe i spójnej kolekcji funkcji, takich jak są niezbędne do negocjowania struktur wielowymiarowych w usługach Analysis Services.Zestaw funkcji również są niezbędne do uzyskiwania wyniki z kwerendy Multidimensional Expressions (MDX), ponieważ zestaw wyrażeń definiuje osi kwerendy MDX.
Jedną z najbardziej typowych funkcji zestawu jest Członkowie (zestaw) (MDX) Funkcja, która pobiera zestaw zawierający wszystkie elementy członkowskie z wymiaru, hierarchii lub poziom. Poniżej przedstawiono przykład ich użycia w ciągu kwerendy:
SELECT
//Returns all of the members on the Measures dimension
[Measures].MEMBERS
ON Columns,
//Returns all of the members on the Calendar Year level of the Calendar Year Hierarchy
//on the Date dimension
[Date].[Calendar Year].[Calendar Year].MEMBERS
ON Rows
FROM [Adventure Works]
Jest innego powszechnie używanych funkcji Połączenia krzyżowego (MDX) Funkcja. Zwraca zestaw krotek, reprezentujący produkt cartesian zestawów, przekazywane do niej jako parametry.W praktyce funkcja ta umożliwia tworzenie "zagnieżdżonych" lub "crosstabbed" osi w kwerendach:
SELECT
//Returns all of the members on the Measures dimension
[Measures].MEMBERS
ON Columns,
//Returns a set containing every combination of all of the members
//on the Calendar Year level of the Calendar Year Hierarchy
//on the Date dimension and all of the members on the Category level
//of the Category hierarchy on the Product dimension
Crossjoin(
[Date].[Calendar Year].[Calendar Year].MEMBERS,
[Product].[Category].[Category].MEMBERS)
ON Rows
FROM [Adventure Works]
The Elementy podrzędne (MDX) funkcja is similar the Children funkcja, but is more powerful. Zwraca elementy podrzędne każdego element członkowski członkowski w co najmniej jeden poziom w hierarchii:
WYBIERZ OPCJĘ
[Środki]. [Internet Sales Amount]
NA kolumny
//Returns zestaw zawierający wszystkie daty poniżej rok kalendarza
//2004 w hierarchii wymiaru data kalendarza
ELEMENTY PODRZĘDNE)
[Data]. [Kalendarz]. [Kalendarz rok]. &[2004]
, [data].[Calendar].[data])
NA wiersze
FROM [firmy Adventure Works]
The Zlecenia (MDX) funkcja enables you to order the contents of a zestaw in ascending or descending order according to a particular wyrażenie liczbowe. Następująca kwerenda zwraca tych samych elementów członkowskich w wierszach jako poprzedniej kwerendy, ale teraz porządkuje je według miara Internet Sales Amount:
SELECT
[Measures].[Internet Sales Amount]
ON Columns,
//Returns a set containing all of the Dates beneath Calendar Year
//2004 in the Calendar hierarchy of the Date dimension
//ordered by Internet Sales Amount
ORDER(
DESCENDANTS(
[Date].[Calendar].[Calendar Year].&[2004]
, [Date].[Calendar].[Date])
, [Measures].[Internet Sales Amount], BDESC)
ON Rows
FROM [Adventure Works]
Ta kwerenda również ilustruje sposób zwrotu zestaw z jednego zestaw funkcja, obiekty podrzędne, mogą być przekazywane jako parametr do innego zestaw funkcja, kolejność.
Zestaw zgodnie z określonych kryteriów filtrowania jest bardzo przydatne podczas tworzenia kwerendy, a w tym celu można użyć Filtr (MDX) Funkcja, jak pokazano w poniższym przykładzie:
SELECT
[Measures].[Internet Sales Amount]
ON Columns,
//Returns a set containing all of the Dates beneath Calendar Year
//2004 in the Calendar hierarchy of the Date dimension
//where Internet Sales Amount is greater than $70000
FILTER(
DESCENDANTS(
[Date].[Calendar].[Calendar Year].&[2004]
, [Date].[Calendar].[Date])
, [Measures].[Internet Sales Amount]>70000)
ON Rows
FROM [Adventure Works]
Istnieją inne, więcej zaawansowanych funkcji, które pozwalają filtrować zestaw w inny sposób.Na przykład następujące kwerendy pokazuje TopCount (MDX) funkcja zwraca górną n elementów zestaw:
SELECT
[Measures].[Internet Sales Amount]
ON Columns,
//Returns a set containing the top 10 Dates beneath Calendar Year
//2004 in the Calendar hierarchy of the Date dimension by Internet Sales Amount
TOPCOUNT(
DESCENDANTS(
[Date].[Calendar].[Calendar Year].&[2004]
, [Date].[Calendar].[Date])
,10, [Measures].[Internet Sales Amount])
ON Rows
FROM [Adventure Works]
Na koniec jest możliwe do wykonania wielu operacji logicznej zestaw przy użyciu funkcji, takich jak Część wspólna (MDX), Unia (MDX) i Z wyjątkiem (MDX) funkcje. Poniższa kwerenda przedstawia przykłady ostatnie dwie funkcje:
SELECT
//Returns a set containing the Measures Internet Sales Amount, Internet Tax Amount and
//Internet Total Product Cost
UNION(
{[Measures].[Internet Sales Amount], [Measures].[Internet Tax Amount]}
, {[Measures].[Internet Total Product Cost]}
)
ON Columns,
//Returns a set containing all of the Dates beneath Calendar Year
//2004 in the Calendar hierarchy of the Date dimension
//except the January 1st 2004
EXCEPT(
DESCENDANTS(
[Date].[Calendar].[Calendar Year].&[2004]
, [Date].[Calendar].[Date])
,{[Date].[Calendar].[Date].&[915]})
ON Rows
FROM [Adventure Works]