Derecelendirmeleri hesaplama
RANKX
DAX işlevi, dereceleri hesaplamak için kullanabileceğiniz özel bir yineleyici işlevidir. Söz dizimi şu şekildedir:
RANKX(<table>, <expression>[, <value>[, <order>[, <ties>]]])
Tüm yineleyici işlevler gibi bir tablo ve ifade geçirmeniz gerekir. İsteğe bağlı olarak, bir sıralama değeri geçirebilir, sıra yönünü ayarlayabilir veya değerler bağlı olduğunda derecelerin nasıl işleneceğini belirleyebilirsiniz.
Sıralama yönü
Sıralama yönü, artan veya azalan düzende olur. Gelir değerleri gibi uygun bir sıralama yaparken, en yüksek gelirin ilk sırada yer alabilmesi için azalan sırayı kullanmanız olasıdır. Müşteri şikayetleri gibi olumsuz bir şeyi derecelendirdiğinizde, en düşük şikayet sayısının ilk sırada yer almaları için artan düzen kullanabilirsiniz. Bir sıra bağımsız değişkenini geçirmediğinizde işlev 0 (sıfır) (azalan düzen için) kullanır.
Eşdeğerleri yönetme
Eşdeğerleri yönetmek için derecelendirme değerlerini atlayabilir veya yoğun derecelendirme kullanarak eşdeğer düzeyden bir sonraki derecelendirme değerinin kullanılmasını sağlayabilirsiniz. Bir bağ bağımsız değişkenini geçirmediğinizde işlev Skip işlevini kullanır. Bu ünitenin devamında her bağlama bağımsız değişkeninin bir örneğiyle çalışma fırsatınız olacak.
Derecelendirme ölçüleri oluşturma
Aşağıdaki ölçüyü Product tablosuna ekleyin:
Product Quantity Rank =
RANKX(
ALL('Product'[Product]),
[Quantity]
)
Product Quantity Rank ölçüsünü raporun Sayfa 2 bölümünde yer alan tablo görseline ekleyin. Tablo görseli bisikletleri gruplar ve ürünlerin azalan miktara göre sıralandığı miktar değerlerini görüntüler.
İşlev, RANKX
DAX işlevi tarafından ALL
döndürülen bir tablo üzerinde yinelenir. ALL
İşlev, bir model tablosundaki tüm satırları veya bir veya daha fazla sütundaki değerleri döndürmek için kullanılır ve tüm filtreleri yoksayar. Bu nedenle, bu durumda, Product tablosundaki tüm Product sütun değerlerinden oluşan bir tablo döndürür. Tablo görseli RANKX
ürüne ALL
göre gruplandırılacağından ( Product tablosundaki bir filtredir) işlevi işlevini kullanmalıdır.
Tablo görselinde iki ürünün onuncu sırada yer aldığını ve bir sonraki ürünün derecesinin 12 olduğunu görebilirsiniz. Bu görsel, Atlandı eşdeğerler bağımsız değişkenine örnek olarak verilebilir.
Bir sonraki göreviniz, aşağıdaki mantığı girerek Product Quantity Rank ölçü tanımını yoğun derecelendirmeyi kullanacak şekilde değiştirmek olacak:
Product Quantity Rank =
RANKX(
ALL('Product'[Product]),
[Quantity],
,
,
DENSE
)
Tablo görselinde atlanmış derece olmadığına dikkat edin. Onuncu sıradaki iki eşdeğer üründen sonra gelen ürün 11. sırada.
Product Quantity Rank için tablonun görsel toplamının bir (1) olduğuna dikkat edin. Bunun nedeni tüm ürünlerinin toplamının derecelendirilmiş olmasıdır.
Ürün toplamını derecelendirmek uygun olmadığından aşağıdaki mantığı kullanarak ölçü tanımını tak bir ürün filtrelenmediği sürece BLANK döndürecek şekilde değiştireceksiniz:
Product Quantity Rank =
IF(
HASONEVALUE('Product'[Product]),
RANKX(
ALL('Product'[Product]),
[Quantity],
,
,
DENSE
)
)
Product tablosundaki Product sütununun filtre bağlamında tek bir değere sahip olup olmadığını test etmek için DAX işlevi kullanılarak HASONEVALUE
elde edilen toplam ProductQuantity Rank değerinin BLANK olduğuna dikkat edin. Ayrı ürün gruplarında bu koşul sağlanırken tüm ürünlerin gösterildiği toplam için sağlanmaz.
Filtre bağlamı HASONEVALUE
ve işlevi, filtre bağlamı modülünde tanıtılacaktır.