Masuk dengan Microsoft
Masuk atau buat akun.
Halo,
Pilih akun lain.
Anda memiliki beberapa akun
Pilih akun yang ingin Anda gunakan untuk masuk.

Bagian ini menjelaskan cara membuat filter dalam rumus Data Analysis Expressions (DAX). Anda bisa membuat filter di dalam rumus, untuk membatasi nilai dari data sumber yang digunakan dalam perhitungan. Anda melakukan ini dengan menentukan tabel sebagai input ke rumus, lalu menetapkan ekspresi filter. Ekspresi filter yang Anda sediakan digunakan untuk membuat kueri data dan hanya mengembalikan subset dari data sumber. Filter diterapkan secara dinamis setiap kali Anda memperbarui hasil rumus, bergantung pada konteks data Anda saat ini.

Di artikel ini

Membuat Filter pada Tabel yang digunakan dalam Rumus

Anda bisa menerapkan filter dalam rumus yang mengambil tabel sebagai input. Alih-alih memasukkan nama tabel, gunakan fungsi FILTER untuk menentukan subset baris dari tabel yang ditentukan. Subset itu lalu diteruskan ke fungsi lainnya, untuk operasi seperti agregasi kustom.

Misalnya, andaikan Anda memiliki tabel data yang berisi informasi pesanan tentang penjual, dan Anda ingin menghitung berapa banyak setiap penjual terjual. Namun, Anda ingin memperlihatkan jumlah penjualan hanya untuk penjual yang menjual beberapa unit produk bernilai lebih tinggi. Rumus berikut, berdasarkan buku kerja sampel DAX, memperlihatkan salah satu contoh bagaimana Anda bisa membuat perhitungan ini dengan menggunakan filter:

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

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

  • Bagian kedua rumus, akan FILTER(table, expression),untuk SUMX data yang digunakan. SUMX memerlukan tabel atau ekspresi yang menghasilkan tabel. Di sini, daripada menggunakan semua data dalam tabel, gunakan fungsi FILTER untuk menentukan baris mana dari tabel yang digunakan.

    Ekspresi filter memiliki dua bagian: bagian pertama memberi nama tabel tempat filter diterapkan. Bagian kedua menentukan ekspresi untuk digunakan sebagai kondisi filter. Dalam kasus ini, Anda memfilter penjual yang menjual lebih dari 5 unit dan produk dengan harga lebih dari $100. Operator, &&, adalah operator AND logika, yang menunjukkan bahwa kedua bagian kondisi harus benar untuk baris sampai ke subset yang difilter.

  • Bagian ketiga rumus memberi tahu fungsi SUMX mana yang harus dijumlahkan. Dalam hal ini, Anda hanya menggunakan jumlah penjualan.

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

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

Filter yang Menghapus Duplikat

Selain untuk memfilter nilai tertentu, Anda dapat menghasilkan rangkaian nilai unik dari tabel atau kolom lain. Ini bisa sangat membantu ketika Anda ingin menghitung jumlah nilai unik dalam kolom, atau menggunakan daftar nilai unik untuk operasi lain. DAX menyediakan dua fungsi untuk mengembalikan nilai yang berbeda: Fungsi DISTINCT dan Fungsi VALUES.

  • Fungsi DISTINCT memeriksa kolom tunggal yang Anda tentukan sebagai argumen untuk fungsi, dan mengembalikan kolom baru yang hanya berisi nilai yang berbeda.

  • Fungsi VALUES juga mengembalikan daftar nilai yang unik, tetapi juga mengembalikan anggota Tidak Diketahui. Ini berguna jika Anda menggunakan nilai dari dua tabel yang tergabung dalam hubungan, dan sebuah nilai hilang dalam satu tabel dan ada di tabel lainnya. Untuk informasi selengkapnya tentang anggota yang Tidak Diketahui, lihat Konteks dalam Rumus DAX.

Kedua fungsi ini mengembalikan seluruh kolom nilai; oleh karena itu, Anda menggunakan fungsi untuk mendapatkan daftar nilai yang kemudian diteruskan ke fungsi lain. Misalnya, Anda dapat menggunakan rumus berikut untuk mendapatkan daftar produk berbeda yang dijual oleh penjual tertentu, menggunakan kunci produk unik, lalu menghitung produk dalam daftar tersebut menggunakan fungsi COUNTROWS:

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

Atas Halaman

Bagaimana Konteks Mempengaruhi Filter

Saat anda menambahkan rumus DAX ke PivotTable PivotChart, hasil rumus bisa dipengaruhi oleh konteks. Jika Anda bekerja dalam tabel Power Pivot , konteksnya adalah baris saat ini dan nilainya. Jika bekerja menggunakan PivotTable atau PivotChart, konteksnya berarti kumpulan atau subkumpulan data yang ditentukan oleh operasi seperti slicing, atau pemfilteran. Desain PivotTable atau versi PivotChart juga memaksakan konteksnya sendiri. Misalnya, jika Anda membuat PivotTable yang kelompokkan penjualan menurut kawasan dan tahun, hanya data yang berlaku untuk kawasan dan tahun tersebut yang muncul dalam PivotTable. Oleh karena itu, pengukuran apa pun yang Anda tambahkan ke PivotTable dihitung sesuai konteks judul kolom dan baris serta filter apa pun dalam rumus pengukuran.

Untuk informasi selengkapnya, lihat Konteks dalam Rumus DAX.

Atas Halaman

Menghapus Filter

Saat bekerja dengan rumus yang kompleks, Anda mungkin ingin tahu persis seperti apa filter saat ini, atau Anda mungkin ingin mengubah bagian filter dari rumus tersebut. DAX menyediakan beberapa fungsi yang memungkinkan Anda menghapus filter, dan untuk mengontrol kolom mana yang dipertahankan sebagai bagian dari konteks filter saat ini. Bagian ini menyediakan gambaran umum tentang bagaimana fungsi ini mempengaruhi hasil dalam rumus.

Mengganti Semua Filter dengan Fungsi ALL

Anda bisa menggunakan fungsi ALL untuk mengesampingkan filter apa pun yang sebelumnya diterapkan, dan mengembalikan semua baris dalam tabel ke fungsi yang menjalankan agregat atau operasi lain. Jika Anda menggunakan satu atau beberapa kolom, sebagai ganti tabel, sebagai argumen untuk ALL, fungsi ALL mengembalikan semua baris, mengabaikan filter konteks apa pun.

Catatan: Jika Anda terbiasa dengan terminologi database relasional, Anda dapat menganggap ALL menghasilkan gabungan kiri kiri alami dari semua tabel.

Misalnya, anggap Anda memiliki tabel, Penjualan dan Produk, dan Anda ingin membuat rumus yang akan menghitung jumlah penjualan untuk produk saat ini 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 baris. Oleh karena itu, untuk mendapatkan nilai benar dari denominator terlepas dari filter atau Pemotong, Anda harus menambahkan fungsi ALL untuk menimpa filter apa pun. Rumus berikut ini adalah salah satu contoh cara menggunakan ALL untuk menimpa efek filter sebelumnya:

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

  • Bagian pertama rumus tersebut, SUM (Penjualan[Jumlah]), menghitung pembitung.

  • Jumlah tersebut memperhitungkan konteks saat ini, yang berarti bahwa jika Anda menambahkan rumus ke dalam kolom terhitung, konteks baris akan diterapkan, dan jika Anda menambahkan rumus ke PivotTable sebagai pengukuran, semua filter yang diterapkan dalam PivotTable (konteks filter) diterapkan.

  • Bagian kedua rumus tersebut, menghitung denominator. Fungsi ALL akan menimpa semua filter yang mungkin diterapkan pada Products tabel.

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

Mengganti Filter Tertentu dengan Fungsi ALLEXCEPT

Fungsi ALLEXCEPT juga menimpa filter yang sudah ada, tetapi Anda dapat menentukan bahwa beberapa filter yang sudah ada harus dipertahankan. Kolom yang Anda namai sebagai argumen untuk fungsi ALLEXCEPT menentukan kolom mana yang akan terus difilter. Jika Anda ingin mengganti filter dari sebagian besar kolom tapi tidak semua, ALLEXCEPT lebih nyaman daripada ALL. Fungsi ALLEXCEPT sangat berguna ketika Anda membuat PivotTable yang mungkin difilter di banyak kolom berbeda, dan Anda ingin mengontrol nilai yang digunakan dalam rumus. Untuk informasi selengkapnya, termasuk contoh mendetail tentang cara menggunakan ALLEXCEPT dalam PivotTable, lihat Fungsi ALLEXCEPT.

Atas Halaman

Perlu bantuan lainnya?

Ingin opsi lainnya?

Jelajahi manfaat langganan, telusuri kursus pelatihan, pelajari cara mengamankan perangkat Anda, dan banyak lagi.

Komunitas membantu Anda bertanya dan menjawab pertanyaan, memberikan umpan balik, dan mendengar dari para ahli yang memiliki pengetahuan yang luas.

Apakah informasi ini berguna?

Seberapa puaskah Anda dengan kualitas bahasanya?
Apa yang memengaruhi pengalaman Anda?
Dengan menekan kirim, umpan balik Anda akan digunakan untuk meningkatkan produk dan layanan Microsoft. Admin TI Anda akan dapat mengumpulkan data ini. Pernyataan Privasi.

Terima kasih atas umpan balik Anda!

×