TÜMÜ
Şunlar için geçerlidir: Hesaplanmış sütun Hesaplanan tablo Ölçü Görseli hesaplaması
Bir tablodaki tüm satırları veya sütundaki tüm değerleri, uygulanmış olabilecek filtreleri yoksayarak döndürür. Bu işlev, filtreleri temizlemek ve tablodaki tüm satırlarda hesaplamalar oluşturmak için kullanışlıdır.
Sözdizimi
ALL( [<table> | <column>[, <column>[, <column>[,…]]]] )
Parametreler
Süre | Tanım |
---|---|
table | Filtrelerini temizlemek istediğiniz tablo. |
sütun | Filtrelerini temizlemek istediğiniz sütun. |
ALL işlevinin bağımsız değişkeni, temel tablo başvurusu veya temel sütun başvurusu olmalıdır. ALL işleviyle tablo ifadelerini veya sütun ifadelerini kullanamazsınız.
Dönüş değeri
Filtrelerin kaldırıldığı tablo veya sütun.
Açıklamalar
Bu işlev kendi başına kullanılmaz, ancak başka bir hesaplamanın gerçekleştirildiği sonuç kümesini değiştirmek için kullanılabilecek bir ara işlev işlevi görür.
ALL() işlevini içeren DAX ifadelerinin normal davranışı, uygulanan tüm filtrelerin yoksayılmasıdır. Ancak, belirli DAX sorguları için gereken işleme miktarını azaltmak için filtrelemeyi iyi hale getiren bir DAX teknolojisi olan otomatik var olma nedeniyle bu durumun söz konusu olmadığı bazı senaryolar vardır. Otomatik varoluşun ve ALL()'nin beklenmeyen sonuçlar sağladığı bir örnek, aynı tablonun iki veya daha fazla sütununa filtre uygulamadır (dilimleyiciler kullanılırken olduğu gibi) ve aynı tabloda ALL() kullanan bir ölçü vardır. Bu durumda, otomatik varoluş birden çok filtreyi tek bir filtrede birleştirir ve yalnızca mevcut değer bileşimlerine göre filtrelenir. Bu birleştirme nedeniyle ölçü, mevcut değer birleşimlerine göre hesaplanır ve sonuç, beklendiği gibi tüm değerler yerine filtrelenmiş değerlere göre hesaplanır. Otomatik varoluş ve hesaplamalar üzerindeki etkisi hakkında daha fazla bilgi edinmek için Microsoft MVP Alberto Ferrari'nin ÜZERINDE DAX Otomatik VarOluşunu Anlama makalesine sql.bi.combakın.
Aşağıdaki tabloda, ALL ve ALLEXCEPT işlevlerini farklı senaryolarda nasıl kullanabileceğiniz açıklanmaktadır.
İşlev ve kullanım Açıklama ALL() Her yerdeki tüm filtreleri kaldırır. ALL() yalnızca filtreleri temizlemek için kullanılabilir, ancak tablo döndürmek için kullanılamaz. ALL(Tablo) Belirtilen tablodan tüm filtreleri kaldırır. Sonuç olarak, ALL(Tablo) tablodaki tüm değerleri döndürür ve başka türlü uygulanmış olabilecek tüm filtreleri bağlamdan kaldırır. Bu işlev, birçok gruplandırma düzeyiyle çalışırken ve toplanmış bir değerin toplam değere oranını oluşturan bir hesaplama oluşturmak istediğinizde kullanışlıdır. İlk örnekte bu senaryo gösterilmektedir. ALL (Sütun[, Sütun[, ...]]) Tablodaki belirtilen sütunlardan tüm filtreleri kaldırır; tablodaki diğer sütunlardaki diğer tüm filtreler geçerli olmaya devam eder. Tüm sütun bağımsız değişkenleri aynı tablodan gelmelidir. ALL(Column) değişkeni, belirli bir veya daha fazla sütunun bağlam filtrelerini kaldırmak ve diğer tüm bağlam filtrelerini korumak istediğinizde kullanışlıdır. İkinci ve üçüncü örneklerde bu senaryo gösterilmektedir. ALLEXCEPT(Tablo, Sütun1 [,Sütun2]...) Belirtilen sütunlara uygulanan filtreler dışında tablodaki tüm bağlam filtrelerini kaldırır. Bu, bir tablodaki birçok sütundaki filtreleri kaldırmak istediğiniz ancak tümüne değil de bu durumlara yönelik kullanışlı bir kısayoldur. Bu işlev, hesaplanan sütunlarda veya satır düzeyi güvenlik (RLS) kurallarında kullanıldığında DirectQuery modunda kullanılmak üzere desteklenmez.
Örnek 1
Kategori Satışlarının Toplam Satışlara oranını hesaplama
PivotTable'ınızdaki geçerli hücrenin satış miktarını tüm bayilerin toplam satışlarına bölmek istediğinizi varsayalım. PivotTable kullanıcısının verileri nasıl filtrelediğinden veya gruplandırdığından bağımsız olarak paydanın aynı olduğundan emin olmak için, doğru genel toplamı oluşturmak için ALL kullanan bir formül tanımlarsınız.
Aşağıdaki tabloda, kod bölümünde gösterilen formül kullanılarak yeni bir ölçü olan Tüm Bayi SatışLarı Oranı oluşturulduğunda elde edilen sonuçlar gösterilmektedir. Bunun nasıl çalıştığını görmek için CalendarYear alanını PivotTable'ın Satır Etiketleri alanına ekleyin ve ProductCategoryName alanını Sütun Etiketleri alanına ekleyin. Ardından, Tüm Bayi Satış Oranı ölçüsünü Pivot Table'un Değerler alanına sürükleyin. Sonuçları yüzde olarak görüntülemek için Excel'in biçimlendirme özelliklerini kullanarak ölçüyü içeren hücrelere yüzde numarası biçimlendirmesi uygulayın.
Satır Etiketleri | Aksesuarlar | Bisikletler | Giysi | Bileşenler | Genel Toplam |
---|---|---|---|---|---|
2005 | %0,02 | 9.10% | %0,04 | 0.75% | 9.91% |
2006 | 0.11% | 24.71% | 0.60% | 4.48% | 29.90% |
2007 | 0.36% | 31.71% | 1.07% | 6.79% | 39.93% |
2008 | 0.20% | 16.95% | 0.48% | 2.63% | 20.26% |
Genel Toplam | 0.70% | 82.47% | 2.18% | %14,65 | %100 |
Formül
= SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/SUMX(ALL(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])
Formül aşağıdaki gibi oluşturulur:
pay,
SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])
PivotTable'daki geçerli hücre için ResellerSales_USD[SalesAmount_USD] içindeki değerlerin toplamıdır ve CalendarYear ve ProductCategoryName'e bağlam filtreleri uygulanır.Payda için bir tablo, ResellerSales_USD belirterek başlarsınız ve tablodaki tüm bağlam filtrelerini kaldırmak için ALL işlevini kullanırsınız.
Ardından, ResellerSales_USD[SalesAmount_USD] sütunundaki değerleri toplamak için TOPLAX işlevini kullanırsınız. Başka bir deyişle, tüm bayi satışları için ResellerSales_USD[SalesAmount_USD] toplamını alırsınız.
Örnek 2
Ürün Satışlarının Geçerli Yıla Göre Toplam Satışa Oranını Hesaplama
Her ürün kategorisi (ProductCategoryName) için yıllara göre satış yüzdesini gösteren bir tablo oluşturmak istediğinizi varsayalım. ProductCategoryName değerinin her bir değerine göre her yılın yüzdesini elde etmek için, söz konusu yılın satış toplamını ve ürün kategorisini tüm yıllar boyunca aynı ürün kategorisine ait satışların toplamına bölmeniz gerekir. Başka bir deyişle, filtreyi ProductCategoryName üzerinde tutmak ancak yüzde paydasını hesaplarken yıldaki filtreyi kaldırmak istiyorsunuz.
Aşağıdaki tabloda, kod bölümünde gösterilen formül kullanılarak yeni bir ölçü olan Bayi Satış Yılı oluşturulduğunda elde edilen sonuçlar gösterilmektedir. Bunun nasıl çalıştığını görmek için CalendarYear alanını PivotTable'ın Satır Etiketleri alanına ekleyin ve ProductCategoryName alanını Sütun Etiketleri alanına ekleyin. Sonuçları yüzde olarak görüntülemek için Excel'in biçimlendirme özelliklerini kullanarak Bayi Satış Yılı ölçüsünü içeren hücrelere yüzde numarası biçimi uygulayın.
Satır etiketleri | Aksesuarlar | Bisikletler | Giysi | Bileşenler | Genel Toplam |
---|---|---|---|---|---|
2005 | 3.48% | 11.03% | 1.91% | 5.12% | 9.91% |
2006 | 16.21% | 29.96% | 27.29% | 30.59% | 29.90% |
2007 | 51.62% | 38.45% | 48.86% | 46.36% | 39.93% |
2008 | 28.69% | 20.56% | 21.95% | 17.92% | 20.26% |
Genel Toplam | %100 | %100 | %100 | %100 | %100 |
Formül
= SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/CALCULATE( SUM( ResellerSales_USD[SalesAmount_USD]), ALL(DateTime[CalendarYear]))
Formül aşağıdaki gibi oluşturulur:
pay,
SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])
CalendarYear ve ProductCategoryName sütunlarına bağlam filtreleri uygulanmış olarak özet tablodaki geçerli hücre için ResellerSales_USD[SalesAmount_USD] içindeki değerlerin toplamıdır.Payda için, ALL(Column) işlevini kullanarak CalendarYear'da var olan filtreyi kaldırırsınız. Bu, sütun etiketlerinden var olan bağlam filtrelerini uyguladıktan sonra ResellerSales_USD tablosunda kalan satırların toplamını hesaplar. Net etki, payda için toplamın seçilen ProductCategoryName (örtük bağlam filtresi) ve Year içindeki tüm değerler üzerinde hesaplanmış olmasıdır.
Örnek 3
Ürün Kategorilerinin Yıllık Toplam Satışa Katkısını Hesaplama
Her ürün kategorisi için satış yüzdesini yıllık olarak gösteren bir tablo oluşturmak istediğinizi varsayalım. Belirli bir yıldaki her ürün kategorisinin yüzdesini elde etmek için, söz konusu ürün kategorisinin (ProductCategoryName) satış toplamını n yıl olarak hesaplamanız ve ardından elde edilen değeri tüm ürün kategorilerine göre n yıllık satış toplamına bölmeniz gerekir. Başka bir deyişle, yüzde paydasını hesaplarken filtreyi yıl içinde tutmak ancak ProductCategoryName üzerindeki filtreyi kaldırmak istiyorsunuz.
Aşağıdaki tabloda, kod bölümünde gösterilen formül kullanılarak yeni bir ölçü olan Reseller Sales CategoryName oluşturulduğunda elde edilen sonuçlar gösterilmektedir. Bunun nasıl çalıştığını görmek için CalendarYear alanını PivotTable'ın Satır Etiketleri alanına ekleyin ve ProductCategoryName alanını Sütun Etiketleri alanına ekleyin. Ardından yeni ölçüyü PivotTable'ın Değerler alanına ekleyin. Sonuçları yüzde olarak görüntülemek için, Yeni Reseller Sales CategoryName ölçüsünü içeren hücrelere yüzde sayı biçimi uygulamak için Excel'in biçimlendirme özelliklerini kullanın.
Satır Etiketleri | Aksesuarlar | Bisikletler | Giysi | Bileşenler | Genel Toplam |
---|---|---|---|---|---|
2005 | 0.25% | 91.76% | 0.42% | 7.57% | %100 |
2006 | 0.38% | 82.64% | 1.99% | 14.99% | %100 |
2007 | 0.90% | 79.42% | 2.67% | 17.01% | %100 |
2008 | %0,99 | 83.69% | 2.37% | 12.96% | %100 |
Genel Toplam | 0.70% | 82.47% | 2.18% | %14,65 | %100 |
Formül
= SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/CALCULATE( SUM( ResellerSales_USD[SalesAmount_USD]), ALL(ProductCategory[ProductCategoryName]))
Formül aşağıdaki gibi oluşturulur:
SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])
, PivotTable'daki geçerli hücre için ResellerSales_USD[SalesAmount_USD] içindeki değerlerin toplamıdır ve CalendarYear ve ProductCategoryName alanlarına bağlam filtreleri uygulanır.Payda için, ProductCategoryName filtresini kaldırmak ve satır etiketlerinden var olan bağlam filtrelerini uyguladıktan sonra ResellerSales_USD tablosundaki kalan satırların toplamını hesaplamak için ALL(Column) işlevini kullanırsınız. Net etki, payda için toplamın seçilen Yıl (örtük bağlam filtresi) ve ProductCategoryName'in tüm değerleri için hesaplanmış olmasıdır.