Data Filter dalam Rumus DAX

Penting  Artikel ini adalah terjemahan mesin, lihat penafian. Temukan versi bahasa Inggris artikel di sini sebagai rujukan Anda.

Bagian ini menjelaskan tentang cara untuk membuat penyaring dalam formula Data analisis ekspresi (DAX). Anda dapat membuat filter dalam formula, untuk membatasi nilai-nilai dari sumber data yang digunakan dalam perhitungan. Anda melakukan ini dengan menetapkan tabel sebagai masukan untuk formula, dan kemudian mendefinisikan ekspresi filter. Ekspresi filter yang Anda berikan digunakan untuk query data dan kembalikan hanya sebuah subset dari sumber data. Filter diterapkan secara dinamis setiap kali Anda memperbarui hasil formula, tergantung pada konteks saat ini data Anda.

Di artikel ini

Membuat Filter pada Tabel yang digunakan dalam Rumus

Filter yang Menghapus Duplikat

Pengaruh Konteks Terhadap Filter

Menghapus Filter

Mengganti Semua Filter dengan Fungsi ALL

Menggantikan Filter Tertentu dengan Fungsi ALLEXCEPT

Membuat Filter pada Tabel yang digunakan dalam Rumus

Anda dapat menerapkan filter dalam rumus yang menggunakan tabel sebagai inputnya. Sebagai ganti memasukkan nama tabel, Anda menggunakan fungsi FILTER untuk menetapkan subset baris dari tabel yang ditentukan. Subset itu lalu disalurkan ke fungsi lain, untuk operasi-operasi seperti agregasi kustom.

Misalnya, jika Anda memiliki tabel data berisi informasi pesanan tentang penjual, dan Anda ingin menghitung penjualan oleh masing-masing penjual. Namun, Anda ingin memperlihatkan jumlah penjualan hanya untuk penjual yang menjual sekian unit produk bernilai tinggi. Rumus berikut, berdasarkan contoh buku kerja DAX, memperlihatkan satu contoh tentang cara membuat penghitungan ini dengan menggunakan filter:

= SUMX (
FILTER ('ResellerSales_USD', 'ResellerSales_USD' [kuantitas] > 5 & &
'ResellerSales_USD' [ProductStandardCost_USD] > 100),
'ResellerSales_USD' [SalesAmt]
)

  • Bagian pertama dari rumus menentukan salah satu fungsi agregasi Power Pivot , yang mengambil meja sebagai argumen. SUMX menghitung jumlah di atas meja.

  • Bagian kedua dari rumus, FILTER(table, expression),memberitahu SUMX data yang akan digunakan. SUMX memerlukan meja atau ungkapan yang dihasilkan dalam sebuah tabel. Di sini, daripada menggunakan semua data dalam tabel, Anda menggunakan fungsi FILTER untuk menentukan yang baris dari tabel digunakan.

    Ekspresi filter memiliki dua bagian: bagian pertama nama tabel yang berlaku filter. Bagian kedua mendefinisikan ungkapan untuk digunakan sebagai penyaring kondisi. Dalam kasus ini, Anda penyaringan pada reseller yang terjual lebih dari 5 unit dan produk yang biaya lebih dari $100. Operator, & &, adalah logis dan operator, yang menunjukkan bahwa keduanya bagian dari kondisi harus benar untuk baris milik subset disaring.

  • Bagian ketiga dari rumus memberitahu fungsi SUMX nilai mana yang harus dijumlahkan. Dalam hal ini, Anda menggunakan jumlah penjualan saja.

    Perhatikan bahwa fungsi seperti FILTER, yang mengembalikan sebuah tabel, tidak akan mengembalikan tabel atau baris langsung, tapi selalu disematkan dalam fungsi lain. Untuk informasi selengkapnya tentang FILTER dan fungsi lainnya yang digunakan untuk memfilter, termasuk contoh lainnya, lihat Fungsi Filter (DAX).

    Catatan  Ekspresi filter dipengaruhi oleh konteks penggunaannya. Misalnya, jika Anda menggunakan sebuah filter dalam pengukuran, dan pengukuran tersebut digunakan dalam PivotTable atau PivotChart, subset data yang dikembalikan mungkin dipengaruhi oleh filter tambahan atau Pemotong yang diterapkan pengguna dalam PivotTable. Untuk informasi selengkapnya tentang konteks, lihat Konteks dalam Rumus DAX.

Filter yang Menghapus Duplikat

Selain untuk memfilter nilai tertentu, Anda dapat mengembalikan seperangkat nilai unik dari tabel atau kolom lain. Ini dapat berguna ketika Anda ingin menghitung jumlah nilai unik dalam sebuah kolom, atau menggunakan daftar nilai unik untuk operasi lain. DAX menyediakan dua fungsi untuk mengembalikan nilai berlainan: Fungsi DISTINCT dan Fungsi VALUES.

  • Fungsi DISTINCT memeriksa satu kolom yang Anda tentukan sebagai argumen untuk fungsi tersebut dan mengembalikan kolom baru yang hanya berisi nilai berlainan.

  • Nilai-nilai fungsi juga mengembalikan daftar nilai-nilai yang unik, tapi juga mengembalikan tidak diketahui anggota. Hal ini berguna bila Anda menggunakan nilai-nilai dari dua tabel yang bergabung dengan hubungan, dan nilai yang hilang di satu meja dan hadir dalam yang lain. Untuk informasi lebih lanjut tentang anggota tidak diketahui, lihat konteks di DAX formula.

Kedua fungsi ini mengembalikan kolom lengkap berisi nilai; oleh karena itu, Anda menggunakan fungsi ini untuk mendapatkan daftar nilai yang akan disalurkan ke fungsi lain. Misalnya, Anda dapat menggunakan rumus berikut untuk mendapatkan daftar produk berlainan yang dijual oleh penjual tertentu, melalui kunci produk unik, lalu menghitung produk dalam daftar itu menggunakan fungsi COUNTROWS:

=COUNTROWS(DISTINCT('ResellerSales_USD'[ProductKey]))

Atas Halaman

Pengaruh Konteks Terhadap Filter

Ketika Anda menambahkan rumus DAX PivotTable atau PivotChart, hasil dari rumus dapat dipengaruhi oleh konteks. Jika Anda bekerja dalam tabel Power Pivot , konteks adalah baris saat ini dan nilai-nilai. Jika Anda bekerja di sebuah PivotTable atau PivotChart, konteks berarti set atau subset dari data yang didefinisikan oleh operasi seperti mengiris, atau penyaringan. Desain PivotTable atau PivotChart juga memberikan konteks sendiri. Misalnya, jika Anda membuat sebuah PivotTable yang kelompok penjualan menurut wilayah dan tahun, hanya data yang berlaku untuk daerah tersebut dan tahun muncul dalam PivotTable. Oleh karena itu setiap tindakan yang Anda tambahkan ke PivotTable dihitung dalam konteks judul kolom dan baris ditambah penyaring apapun dalam ukuran formula.

Untuk informasi selengkapnya, lihat Konteks dalam Rumus DAX.

Atas Halaman

Menghapus Filter

Ketika bekerja dengan rumus yang kompleks, Anda mungkin perlu tahu secara persis filter yang digunakan, atau Anda mungkin perlu memodifikasi bagian filter untuk rumus tersebut. DAX menyediakan sejumlah fungsi yang memungkinkan Anda menghapus filter, dan mengontrol kolom yang dipertahankan sebagai bagian dari konteks filter saat ini. Bagian ini memberikan gambaran umum tentang pengaruh fungsi-fungsi ini pada hasil dalam rumus.

Mengganti Semua Filter dengan Fungsi ALL

Anda dapat menggunakan fungsi ALL untuk menggantikan penyaring apapun yang diterapkan sebelumnya, dan kembalikan seluruh baris dalam tabel untuk fungsi yang melakukan operasi agregat atau lainnya. Jika Anda menggunakan satu atau lebih kolom, bukan sebuah tabel, sebagai argumen untuk ALL, fungsi ALL mengembalikan semua baris, mengabaikan konteks filter.

Catatan  Jika Anda memahami terminologi database relasional, Anda dapat menganggap ALL sebagai pembuatan gabungan luar alamiah atas semua tabel.

Misalnya, anggaplah Anda memiliki beberapa tabel, Penjualan dan Produk, dan Anda ingin membuat rumus yang menghitung jumlah penjualan untuk produk tertentu dibagi dengan penjualan untuk semua produk. Anda harus mempertimbangkan fakta bahwa, jika rumus digunakan dalam pengukuran, pengguna PivotTable mungkin menggunakan Pemotong untuk memfilter produk tertentu, dengan nama produk pada barisnya. Oleh karena itu, untuk mendapatkan nilai benar atas penyebut dengan mengabaikan filter atau Pemotong, Anda harus menambahkan fungsi ALL untuk menggantikan filter. Rumus berikut adalah satu contoh tentang cara menggunakan ALL untuk menggantikan efek filter sebelumnya:

= SUM (Sales [jumlah]) / SUMX (Sales [jumlah], FILTER (penjualan, ALL(Products)))

  • Bagian pertama dari rumus, SUM (Sales[Amount]), menghitung pembilang.

  • Penjumlahan mempertimbangkan konteks saat ini, maksudnya, jika Anda menambahkan rumus ke dalam kolom terhitung, maka baris konteks akan diterapkan, dan jika Anda menambahkan rumus ke PivotTable sebagai pengukuran, maka filter yang diterapkan dalam PivotTable (konteks filter) akan diterapkan.

  • Bagian kedua dari formula, menghitung penyebut. Semua fungsi menggantikan penyaring apapun yang mungkin akan diterapkan ke meja Products .

Untuk informasi selengkapnya, termasuk contoh detail, lihat Fungsi ALL.

Menggantikan Filter Tertentu dengan Fungsi ALLEXCEPT

Fungsi ALLEXCEPT juga mengganti filter yang ada, tetapi Anda dapat menentukan agar sebagian filter yang ada dipertahankan. Kolom yang Anda tentukan sebagai argumen untuk fungsi ALLEXCEPT akan menentukan kolom yang tetap difilter. Jika Anda ingin mengganti filter dari sebagian besar kolom, tetapi tidak semuanya, maka ALLEXCEPT lebih praktis daripada ALL. Fungsi ALLEXCEPT khususnya berguna ketika Anda membuat PivotTable yang mungkin difilter pada beragam kolom, dan Anda ingin mengontrol nilai-nilai yang digunakan dalam rumus. Untuk informasi selengkapnya, termasuk contoh detail tentang cara menggunakan ALLEXCEPT dalam PivotTable, lihat Fungsi ALLEXCEPT.

Atas Halaman

Catatan  Penafian Terjemahan Mesin: Artikel ini telah diterjemahan oleh sistem komputer tanpa campur tangan manusia. Microsoft menawarkan terjemahan mesin ini untuk membantu pengguna yang bukan penutur bahasa Inggris agar dapat menikmati konten tentang produk, layanan, dan teknologi Microsoft. Karena artikel ini diterjemahkan oleh mesin, mungkin akan terdapat kesalahan kosa kata, sintaksis, atau tata bahasa.

Terapkan Ke: Excel 2016, Excel 2013



Apakah informasi ini bermanfaat?

Ya Tidak

Bagaimana kami dapat meningkatkannya?

255 karakter tersisa

Untuk memproteksi privasi Anda, jangan menyertakan informasi kontak dalam umpan balik Anda. Tinjau kebijakan privasi.

Terima kasih atas umpan balik Anda!

Ganti bahasa