ALL
Berlaku untuk: kolom terhitungTabel terhitung
Ukur
Perhitungan visual
Mengembalikan semua baris dalam tabel, atau semua nilai dalam kolom, mengabaikan filter apa pun yang mungkin telah diterapkan. Fungsi ini berguna untuk menghapus filter dan membuat perhitungan pada semua baris dalam tabel.
Sintaksis
ALL( [<table> | <column>[, <column>[, <column>[,…]]]] )
Parameter
Istilah | Definisi |
---|---|
table |
Tabel yang ingin Anda hapus filternya. |
column |
Kolom yang ingin Anda hapus filternya. |
Argumen ke fungsi ALL harus berupa referensi ke tabel dasar atau referensi ke kolom dasar. Anda tidak dapat menggunakan ekspresi tabel atau ekspresi kolom dengan fungsi ALL.
Mengembalikan nilai
Tabel atau kolom dengan filter dihapus.
Komentar
Fungsi ini tidak digunakan dengan sendirinya, tetapi berfungsi sebagai fungsi perantara yang dapat digunakan untuk mengubah kumpulan hasil di mana beberapa perhitungan lain dilakukan.
Perilaku normal untuk ekspresi DAX yang berisi fungsi ALL() adalah bahwa filter apa pun yang diterapkan akan diabaikan. Namun, ada beberapa skenario di mana ini tidak terjadi karena
auto-exist
, teknologi DAX yang mengoptimalkan pemfilteran untuk mengurangi jumlah pemrosesan yang diperlukan untuk kueri DAX tertentu. Contoh di mana ada secara otomatis dan ALL() memberikan hasil yang tidak terduga adalah saat memfilter pada dua kolom atau lebih dari tabel yang sama (seperti saat menggunakan pemotong), dan ada ukuran pada tabel yang sama yang menggunakan ALL(). Dalam hal ini, auto-exist akan menggabungkan beberapa filter menjadi satu dan hanya akan memfilter kombinasi nilai yang ada. Karena penggabungan ini, ukuran akan dihitung pada kombinasi nilai yang ada dan hasilnya akan didasarkan pada nilai yang difilter alih-alih semua nilai seperti yang diharapkan. Untuk mempelajari selengkapnya tentang eksis secara otomatis dan efeknya pada perhitungan, lihat artikel Memahami Microsoft MVP Alberto Ferrari DAX Auto-Exist di sql.bi.com.Tabel berikut ini menjelaskan cara menggunakan fungsi ALL dan ALLEXCEPT dalam skenario yang berbeda.
Fungsi dan penggunaan Deskripsi ALL() Menghapus semua filter di mana saja. ALL() hanya dapat digunakan untuk menghapus filter tetapi tidak mengembalikan tabel. ALL(Tabel) Menghapus semua filter dari tabel yang ditentukan. Akibatnya, ALL(Tabel) mengembalikan semua nilai dalam tabel, menghapus filter apa pun dari konteks yang mungkin telah diterapkan. Fungsi ini berguna ketika Anda bekerja dengan banyak tingkat pengelompokan, dan ingin membuat perhitungan yang membuat rasio nilai agregat dengan nilai total. Contoh pertama menunjukkan skenario ini. ALL (Kolom[, Kolom[, ...]]]) Menghapus semua filter dari kolom yang ditentukan dalam tabel; semua filter lain pada kolom lain dalam tabel masih berlaku. Semua argumen kolom harus berasal dari tabel yang sama. Varian ALL(Kolom) berguna saat Anda ingin menghapus filter konteks untuk satu atau beberapa kolom tertentu dan untuk menyimpan semua filter konteks lainnya. Contoh kedua dan ketiga menunjukkan skenario ini. ALLEXCEPT(Tabel, Kolom1 [,Kolom2]...) Menghapus semua filter konteks dalam tabel kecuali filter yang diterapkan ke kolom yang ditentukan. Ini adalah pintasan yang nyaman untuk situasi di mana Anda ingin menghapus filter pada banyak, tetapi tidak semua, kolom dalam tabel. Fungsi ini tidak didukung untuk digunakan dalam mode DirectQuery saat digunakan dalam kolom terhitung atau aturan keamanan tingkat baris (RLS).
Contoh 1
Menghitung rasio Penjualan Kategori terhadap Total Penjualan
Asumsikan bahwa Anda ingin menemukan jumlah penjualan untuk sel saat ini, di PivotTable Anda, dibagi dengan total penjualan untuk semua penjual. Untuk memastikan bahwa penyebut sama terlepas dari bagaimana pengguna PivotTable mungkin memfilter atau mengelompokkan data, Anda menentukan rumus yang menggunakan ALL untuk membuat total keseluruhan yang benar.
Tabel berikut ini memperlihatkan hasil saat pengukuran baru, Semua Rasio Penjualan Penjual, dibuat menggunakan rumus yang diperlihatkan di bagian kode. Untuk melihat cara kerjanya, tambahkan bidang, CalendarYear, ke area
Label Baris | Aksesoris | Sepeda | Pakaian | Komponen | Total Keseluruhan |
---|---|---|---|---|---|
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% |
Total Keseluruhan | 0,70% | 82,47% | 2.18% | 14.65% | 100.00% |
Rumus
= SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/SUMX(ALL(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])
Rumus dibuat sebagai berikut:
Pembiru,
SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])
, adalah jumlah nilai dalam ResellerSales_USD[SalesAmount_USD] untuk sel saat ini di PivotTable, dengan filter konteks diterapkan pada CalendarYear dan ProductCategoryName.Untuk penyebut, Anda mulai dengan menentukan tabel, ResellerSales_USD, dan menggunakan fungsi ALL untuk menghapus semua filter konteks pada tabel.
Anda kemudian menggunakan fungsi SUMX untuk menjumlahkan nilai di kolom ResellerSales_USD[SalesAmount_USD]. Dengan kata lain, Anda mendapatkan jumlah ResellerSales_USD[SalesAmount_USD] untuk semua penjualan penjual.
Contoh 2
Hitung Rasio Penjualan Produk terhadap Total Penjualan Hingga Tahun Berjalan
Asumsikan bahwa Anda ingin membuat tabel yang menunjukkan persentase penjualan dibandingkan selama bertahun-tahun untuk setiap kategori produk (ProductCategoryName). Untuk mendapatkan persentase untuk setiap tahun selama setiap nilai ProductCategoryName, Anda perlu membagi jumlah penjualan untuk tahun dan kategori produk tertentu dengan jumlah penjualan untuk kategori produk yang sama selama bertahun-tahun. Dengan kata lain, Anda ingin menyimpan filter pada ProductCategoryName tetapi menghapus filter pada tahun saat menghitung penyebut persentase.
Tabel berikut ini memperlihatkan hasil saat pengukuran baru, Tahun Penjualan Penjual, dibuat menggunakan rumus yang diperlihatkan di bagian kode. Untuk melihat cara kerjanya, tambahkan bidang, CalendarYear, ke area
Label baris | Aksesoris | Sepeda | Pakaian | Komponen | Total Keseluruhan |
---|---|---|---|---|---|
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% |
Total Keseluruhan | 100.00% | 100.00% | 100.00% | 100.00% | 100.00% |
Rumus
= SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/CALCULATE( SUM( ResellerSales_USD[SalesAmount_USD]), ALL(DateTime[CalendarYear]))
Rumus dibuat sebagai berikut:
Pembiru,
SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])
, adalah jumlah nilai dalam ResellerSales_USD[SalesAmount_USD] untuk sel saat ini dalam tabel pivot, dengan filter konteks diterapkan pada kolom CalendarYear dan ProductCategoryName.Untuk penyebut, Anda menghapus filter yang ada di CalendarYear dengan menggunakan fungsi ALL(Kolom). Ini menghitung jumlah di atas baris yang tersisa pada tabel ResellerSales_USD, setelah menerapkan filter konteks yang ada dari label kolom. Efek bersihnya adalah bahwa untuk penyebut, jumlah dihitung melalui ProductCategoryName yang dipilih (filter konteks tersirat) dan untuk semua nilai dalam Tahun.
Contoh 3
Hitung Kontribusi Kategori Produk terhadap Total Penjualan Per Tahun
Asumsikan bahwa Anda ingin membuat tabel yang menunjukkan persentase penjualan untuk setiap kategori produk, berdasarkan tahun demi tahun. Untuk mendapatkan persentase untuk setiap kategori produk pada tahun tertentu, Anda perlu menghitung jumlah penjualan untuk kategori produk tertentu (ProductCategoryName) pada tahun n, dan kemudian membagi nilai yang dihasilkan dengan jumlah penjualan untuk tahun n di semua kategori produk. Dengan kata lain, Anda ingin menyimpan filter pada tahun tetapi menghapus filter pada ProductCategoryName saat menghitung denominator persentase.
Tabel berikut ini memperlihatkan hasil saat pengukuran baru, Reseller Sales CategoryName, dibuat menggunakan rumus yang diperlihatkan di bagian kode. Untuk melihat cara kerjanya, tambahkan bidang, CalendarYear ke area
Label Baris | Aksesoris | Sepeda | Pakaian | Komponen | Total Keseluruhan |
---|---|---|---|---|---|
2005 | 0,25% | 91,76% | 0,42% | 7.57% | 100.00% |
2006 | 0,38% | 82.64% | 1,99% | 14.99% | 100.00% |
2007 | 0,90% | 79,42% | 2.67% | 17.01% | 100.00% |
2008 | 0,99% | 83.69% | 2.37% | 12.96% | 100.00% |
Total Keseluruhan | 0,70% | 82,47% | 2.18% | 14.65% | 100.00% |
Rumus
= SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/CALCULATE( SUM( ResellerSales_USD[SalesAmount_USD]), ALL(ProductCategory[ProductCategoryName]))
Rumus dibuat sebagai berikut:
Pembiru,
SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])
, adalah jumlah nilai dalam ResellerSales_USD[SalesAmount_USD] untuk sel saat ini di PivotTable, dengan filter konteks yang diterapkan pada bidang, CalendarYear dan ProductCategoryName.Untuk penyebut, Anda menggunakan fungsi, ALL(Kolom), untuk menghapus filter pada ProductCategoryName dan menghitung jumlah di baris yang tersisa pada tabel ResellerSales_USD, setelah menerapkan filter konteks yang ada dari label baris. Efek bersihnya adalah, untuk penyebut, jumlah dihitung selama Tahun yang dipilih (filter konteks tersirat) dan untuk semua nilai ProductCategoryName.
Konten terkait
Fungsi filter fungsiALL fungsiALLEXCEPT fungsiFILTER