Udostępnij za pośrednictwem


Zamówienia (MDX)

Rozmieszcza członków określonej zestaw, opcjonalnie zachowania lub zbiciu hierarchii.

Składnia

Numeric expression syntax
Order(Set_Expression, Numeric_Expression 
[ , { ASC | DESC | BASC | BDESC } ] )

String expression syntax
Order(Set_Expression, String_Expression 
[ , { ASC | DESC | BASC | BDESC } ] )

Argumenty

  • Set_Expression
    Prawidłowe wyrażenie Multidimensional Expressions (MDX), które zwraca zestaw.

  • Numeric_Expression
    Prawidłowe wyrażenie liczbowe będące zwykle wyrażeniem wyrażeń wielowymiarowych (MDX) ze współrzędnymi komórka, które zwraca liczbę.

  • String_Expression
    Wyrażenie prawidłowy ciąg, który zazwyczaj jest to poprawne wyrażenie Multidimensional Expressions (MDX) komórka współrzędnymi zwrotu to liczba wyrażona jako ciąg.

Uwagi

Order funkcja może być hierarchiczną (określone przy użyciu ASC lub DESC flagi) lub nonhierarchical (jak określono przy użyciu BASC lub BDESC flagi; B oznacza "break hierarchii").Jeśli ASC lub DESC jest określony, Order Funkcja najpierw rozmieszcza członków na podstawie ich pozycji w hierarchii, a następnie porządkuje każdego poziom.Jeśli BASC lub BDESC jest określony, Order funkcja Rozmieszcza elementy członkowskie w zestaw bez względu na hierarchię.W flaga nie jest określony, ASC jest domyślna.

Jeśli Order funkcja jest używana z zestaw, gdy dwa lub więcej hierarchii są crossjoined oraz DESC Flaga jest używana, tylko członkowie ostatnia hierarchia zestaw są uporządkowane.Jest to zmiana z Analysis Services 2000 gdzie wszystkich hierarchii w zestaw zamówiona.

Przykłady

Poniższy przykład zwraca, z Adventure Works moduł odsprzedawcy zamówień dla wszystkich kwartałów kalendarzowych z hierarchii kalendarz na wymiar Data. Order funkcja kolejność zestaw oś wierszy.Order funkcja zamówień zestaw przez [Reseller Order Count] w malejącym porządku hierarchicznym, określone przez [Calendar] hierarchii.

SELECT

Measures.[Reseller Order Count] ON COLUMNS,

Order(

[Date].[Calendar].[Calendar Quarter].MEMBERS

,Measures.[Reseller Order Count]

,DESC

) ON ROWS

FROM [Adventure Works]

Obwieszczenie jak w tym przykładzie po DESC Flaga jest zmieniana na BDESC, hierarchia zostanie przerwane i listy kwartałów kalendarzowych zwracany jest nie w odniesieniu do hierarchii:

SELECT

Measures.[Reseller Order Count] ON COLUMNS,

Order(

[Date].[Calendar].[Calendar Quarter].MEMBERS

,Measures.[Reseller Order Count]

,BDESC

) ON ROWS

FROM [Adventure Works]

Poniższy przykład zwraca miary sprzedaży sprzedawcą górny pięciu podkategorii sprzedaży produktów, niezależnie od hierarchii na podstawie zysku brutto ze sprzedawcą.Subset Funkcja jest używane do zwracania krotek pierwszych 5 w zestaw po wynik porządkowania, za pomocą Order funkcji.

SELECT Subset

(Order

([Product].[Product Categories].[SubCategory].members

,[Measures].[Reseller Gross Profit]

,BDESC

)

,0

,5

) ON 0

FROM [Adventure Works]

W poniższym przykładzie użyto Rank funkcja do rangi członków hierarchii miasto na podstawie miara Reseller kwota sprzedaży, a następnie wyświetla je w kolejności środkowa.Za pomocą Order funkcja kolejność pierwszego zestaw elementów członkowskich hierarchii miasta, sortowanie wykonać tylko raz i po liniowej skanowania przed sortowane są prezentowane w kolejności.

WITH 
SET OrderedCities AS Order
   ([Geography].[City].[City].members
   , [Measures].[Reseller Sales Amount], BDESC
   )
MEMBER [Measures].[City Rank] AS Rank
   ([Geography].[City].CurrentMember, OrderedCities)
SELECT {[Measures].[City Rank],[Measures].[Reseller Sales Amount]}  ON 0 
,Order
   ([Geography].[City].[City].MEMBERS
   ,[City Rank], ASC)
    ON 1
FROM [Adventure Works]

Poniższy przykład zwraca liczbę produktów w zestaw , które są unikatowe, za pomocą Order Funkcja Zamawianie krotek niepusty przed wykorzystaniem Filter funkcji.CurrentOrdinal Funkcja jest używana do porównania i wyeliminować więzi.

WITH MEMBER [Measures].[PrdTies] AS Count
   (Filter
      (Order
        (NonEmpty
          ([Product].[Product].[Product].Members
          , {[Measures].[Reseller Order Quantity]}
          )
       , [Measures].[Reseller Order Quantity]
       , BDESC
       ) AS OrdPrds
    , (OrdPrds.CurrentOrdinal < OrdPrds.Count 
       AND [Measures].[Reseller Order Quantity] = 
          ( [Measures].[Reseller Order Quantity]
            , OrdPrds.Item
               (OrdPrds.CurrentOrdinal
               )
            )
         )
         OR (OrdPrds.CurrentOrdinal > 1 
            AND [Measures].[Reseller Order Quantity] = 
               ([Measures].[Reseller Order Quantity]
               , OrdPrds.Item
                  (OrdPrds.CurrentOrdinal-2)
                )
             )
          )
       )
SELECT {[Measures].[PrdTies]} ON 0
FROM [Adventure Works]

Aby zrozumieć, jak DESC Flaga współpracuje z zestawów krotek, najpierw należy wziąć pod uwagę wyniki następującej kwerendy:

SELECT
{[Measures].[Tax Amount]} ON 0,
ORDER(
[Sales Territory].[Sales Territory].[Group].MEMBERS
,[Measures].[Tax Amount], DESC)
ON 1
FROM [Adventure Works]

Na oś wierszy można wyświetlić grup terytorium sprzedaży zostały uporządkowane w kolejności malejącej według kwoty podatku w następujący sposób: Ameryki Północnej, Europy, Pacyfiku, NA.Teraz Zobacz co się stanie, jeśli mamy crossjoin zestaw grup terytorium sprzedaży z zestaw podkategorie produktów i zastosować Order funkcja w taki sam sposób, jak następuje:

SELECT
{[Measures].[Tax Amount]} ON 0,
ORDER(
[Sales Territory].[Sales Territory].[Group].MEMBERS
{[Product].[Product Categories].[subCategory].Members}
,[Measures].[Tax Amount], DESC)
ON 1
FROM [Adventure Works]

Gdy zestaw podkategorie produktów zostało nakazane w malejącym porządku hierarchicznym grup terytorium sprzedaży nie teraz są sortowane i są wyświetlane w kolejności w hierarchii: Europa, NA, Ameryce Północnej i Pacyfiku.Jest to spowodowane posortowane tylko ostatnia hierarchia zestaw krotek podkategorie produktów.Aby odtworzyć zachowanie Analysis Services 2000, należy użyć szeregu zagnieżdżone Generate funkcji sortowania każdego zestaw przed crossjoined, na przykład:

SELECT
{[Measures].[Tax Amount]} ON 0,
GENERATE(
ORDER(
[Sales Territory].[Sales Territory].[Group].MEMBERS
,[Measures].[Tax Amount], DESC)
,
ORDER(
[Sales Territory].[Sales Territory].CURRENTMEMBER
{[Product].[Product Categories].[subCategory].Members}
,[Measures].[Tax Amount], DESC))
ON 1
FROM [Adventure Works]

Zobacz także

Odwołanie