Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Yineleme sırasında bir küme içindeki mevcut yineleme numarasını döndürür.
Syntax
Set_Expression.CurrentOrdinal
Arguments
Set_Expression
Bir küme döndüren geçerli bir Çok Boyutlu İfadeler (MDX) ifadesi.
Remarks
Bir küme boyunca yineleme yaparken, örneğin Filtre (MDX) veya Oluştur (MDX) fonksiyonları gibi, CurrentOrdinal fonksiyonu yineleme numarasını döndürür.
Examples
Aşağıdaki basit örnek , CurrentOrdinal'inGenerate ile birlikte her bir öğenin adını ve kümedeki konumunu içeren bir diziyi nasıl döndürebileceğini göstermektedir:
WITH SET MySet AS [Customer].[Customer Geography].[Country].MEMBERS
MEMBER MEASURES.CURRENTORDINALDEMO AS
GENERATE(MySet, CSTR(MySet.CURRENTORDINAL) + ") " + MySet.CURRENT.ITEM(0).NAME, ", ")
SELECT MEASURES.CURRENTORDINALDEMO ON 0
FROM [Adventure Works]
CurrentOrdinal'in pratik kullanımı çok karmaşık hesaplamalarla sınırlıdır. Aşağıdaki örnek, Filtre fonksiyonu kullanılmadan önce boş olmayan tuple'ları sıralamak için Order fonksiyonu kullanılarak kümedeki benzersiz çarpımların sayısını geri döndürür. CurrentOrdinal fonksiyonu, beraberlikleri karşılaştırmak ve ortadan kaldırmak için kullanılır.
WITH MEMBER [Measures].[PrdTies] AS Count
(Filter
(Order
(NonEmpty
([Product].[Product].[Product].Members
, {[Measures].[Reseller Order Quantity]}
)
, [Measures].[Reseller Order Quantity]
, BDESC
) AS OrdPrds
, NOT((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]