Menapis Data dalam Formula DAX

Penting: Artikel ini diterjemahkan oleh mesin, lihatlah notis penafian. Sila dapatkan versi Bahasa Inggeris artikel ini di sini sebagai rujukan anda

Seksyen ini menerangkan cara untuk mencipta penapis dalam Formula ungkapan analisis Data (DAX). Anda boleh mencipta penapis dalam Formula, untuk mengehadkan nilai daripada sumber data yang digunakan dalam pengiraan. Anda melakukannya dengan menentukan Jadual sebagai input kepada formula, dan kemudian mentakrifkan ungkapan penapis. Ungkapan penapis yang anda sediakan digunakan untuk pertanyaan data dan kembali sahaja subset data sumber. Penapis digunakan secara dinamik setiap kali anda mengemas kini hasil formula, bergantung pada konteks semasa data anda.

Dalam artikel ini

Mencipta Penapis pada Jadual yang digunakan dalam Formula

Penapis yang Mengalih Keluar Pendua

Bagaimana Konteks Mempengaruhi Penapis

Mengalih Keluar Penapis

Mengubah Semua Penapis dengan Fungsi ALL

Mengubah Penapis Tertentu dengan Fungsi ALLEXCEPT

Mencipta Penapis pada Jadual yang digunakan dalam Formula

Anda boleh menggunakan penapis dalam formula yang menggunakan jadual sebagai input. Selain daripada memasukkan nama jadual, anda menggunakan fungsi FILTER untuk menentukan satu subset baris daripada jadual yang ditentukan. Subset itu kemudiannya dihantar ke fungsi lain untuk operasi seperti pengagregatan tersuai.

Contohnya, katakanlah anda ada satu jadual data yang mengandungi maklumat pesanan tentang penjual semula dan anda ingin mengira bilangan yang dijual oleh setiap penjual semula. Walau bagaimanapun, anda ingin menunjukkan amaun jualan hanya untuk penjual semula yang menjual berbilang unit produk anda yang bernilai tinggi. Formula berikut, yang berdasarkan buku kerja sampel DAX, menunjukkan contoh cara anda boleh mencipta pengiraan ini menggunakan penapis:

= SUMX (
penapis ('ResellerSales_USD', 'ResellerSales_USD' [kuantiti] > 5 & &
'ResellerSales_USD' [ProductStandardCost_USD] > 100),
'ResellerSales_USD' [SalesAmt]
)

  • Bahagian pertama formula menentukan salah satu daripada fungsi pengagregatan Power Pivot yang mengambil Jadual sebagai argumen. SUMX mengira jumlah terhadap Jadual.

  • Bahagian kedua formula, FILTER(table, expression),memberitahu SUMX data yang mana untuk digunakan. SUMX memerlukan Jadual atau ungkapan yang menghasilkan dalam Jadual. Di sini, dan bukannya menggunakan semua data dalam Jadual, anda menggunakan fungsi FILTER untuk menentukan yang baris daripada jadual yang digunakan.

    Ungkapan filter mempunyai dua bahagian: Bahagian pertama nama Jadual yang penapis digunakan. Bahagian kedua menentukan ungkapan untuk digunakan sebagai syarat penapis. Dalam kes ini, anda menapis pada penjual yang dijual lebih daripada 5 unit dan produk yang berkos lebih daripada $100. Operator, & &, adalah logik dan operator yang menunjukkan bahawa kedua-dua bahagian syarat mesti benar untuk baris padanya subset ditapis.

  • Bahagian ketiga formula memberitahu fungsi SUMX nilai yang patut ditambah. Dalam kes ini anda hanya menggunakan amaun jualan.

    Perhatikan bahawa fungsi seperti FILTER, yang mengembalikan jadual, tidak pernah terus mengembalikan jadual atau baris tetapi sentiasa dibenamkan dalam fungsi lain. Untuk maklumat lanjut tentang FILTER dan fungsi lain yang digunakan untuk menapis, termasuk lebih banyak contoh, lihat Fungsi Penapis (DAX).

    Nota: Ungkapan penapis ditentukan oleh konteks yang ia digunakan. Contohnya, jika anda menggunakan penapis dalam ukuran dan ukuran itu digunakan dalam Jadual Pangsi atau Carta Pangsi, subset data yang dikembalikan mungkin dipengaruhi oleh penapis tambahan atau penghiris yang digunakan oleh pengguna dalam Jadual Pangsi. Untuk maklumat lanjut tentang konteks, lihat Konteks dalam Formula DAX.

Penapis yang Mengalih Keluar Pendua

Selain daripada menapis nilai tertentu, anda boleh mengembalikan set nilai unik daripada jadual atau lajur lain. Ini membantu apabila anda ingin mengira jumlah nilai unik dalam lajur atau menggunakan satu senarai nilai unik untuk operasi lain. DAX menyediakan dua fungsi untuk mengembalikan nilai ketara: Fungsi DISTINCT dan Fungsi Nilai.

  • Fungsi DISTINCT memeriksa lajur tunggal yang anda tentukan sebagai argumen kepada fungsi dan mengembalikan lajur baru yang hanya mengandungi nilai ketara.

  • Fungsi nilai juga mengembalikan senarai nilai unik, tetapi juga mengembalikan ahli tidak diketahui. Ini adalah berguna apabila anda menggunakan nilai daripada dua jadual yang digabungkan dengan perhubungan dan nilai yang hilang dalam satu jadual dan hadir dalam yang lain. Untuk maklumat lanjut tentang ahli tidak diketahui, lihat konteks dalam Formula DAX.

Kedua-dua fungsi mengembalikan seluruh lajur nilai, maka anda menggunakan fungsi untuk mendapatkan senarai nilai yang kemudiannya dihantar ke fungsi lain. Contohnya, anda boleh menggunakan formula berikut untuk mendapatkan senarai produk ketara yang dijual oleh penjual semula tertentu, menggunakan kunci produk unik, kemudian mengira produk tersebut dalam senarai dengan fungsi COUNTROWS:

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

Halaman Atas

Bagaimana Konteks Mempengaruhi Penapis

Apabila anda menambah DAX formula pangsi atau carta, hasil formula boleh dipengaruhi oleh konteks. Jika anda bekerja dalam Jadual Power Pivot , konteks ialah baris semasa dan nilainya. Jika anda bekerja dalam Jadual pangsi atau carta pangsi, konteks bermakna set atau subset data yang ditakrifkan oleh operasi seperti menghiris atau penapisan. Reka bentuk Jadual pangsi atau carta pangsi juga mengenakan konteks sendiri. Contohnya, jika anda mencipta jadual pangsi yang Kumpulan jualan mengikut rantau dan tahun, hanya data yang digunakan untuk rantau dan tahun tersebut muncul dalam Jadual pangsi. Oleh itu sebarang ukuran yang anda tambahkan pada jadual pangsi yang dikira dalam konteks tajuk lajur dan baris serta sebarang penapis dalam formula ukuran.

Untuk maklumat lanjut, lihat Konteks dalam Formula DAX.

Halaman Atas

Mengalih Keluar Penapis

Apabila bekerja dengan formula kompleks, anda mungkin ingin tahu penapis semasa atau anda mungkin ingin mengubah suai bahagian penapis pada formula. DAX menyediakan beberapa fungsi yang membolehkan anda mengalih keluar penapis dan mengawal lajur yang dikekalkan sebagai sebahagian daripada konteks penapis semasa. Seksyen ini menyediakan gambaran keseluruhan cara fungsi ini mempengaruhi hasil dalam formula.

Mengubah Semua Penapis dengan Fungsi ALL

Anda boleh menggunakan fungsi ALL untuk menulis ganti sebarang penapis yang telah digunakan sebelum ini dan mengembalikan semua baris dalam Jadual fungsi yang melaksanakan operasi agregat atau lain-lain. Jika anda menggunakan satu atau lebih lajur, selain daripada jadual, sebagai argumen untuk ALL, fungsi ALL mengembalikan semua baris, mengabaikan sebarang penapis konteks.

Nota: Jika anda biasa dengan peristilahan pangkalan data hubungan, anda boleh fikirkan ALL sebagai menjana sambungan luaran kiri semula jadi semua jadual.

Contohnya, katakanlah anda mempunyai jadual Jualan dan Produk dan anda ingin mencipta formula yang akan mengira jumlah jualan produk semasa dibahagikan dengan jualan untuk semua produk. Anda mesti mengambil kira bahawa jika formula digunakan dalam ukuran, pengguna Jadual Pangsi mungkin menggunakan Penghiris untuk menapis produk tertentu, dengan nama produk pada baris. Jadi, untuk mendapatkan nilai sebenar penyebut tanpa mengira sebarang penapis atau Penghiris, anda mesti menambahkan fungsi ALL untuk mengubah sebarang penapis. Formula berikut adalah satu contoh cara menggunakan ALL untuk mengubah kesan penapis sebelumnya:

= SUM (jualan [amaun]) / SUMX (jualan [amaun], penapis (jualan, ALL(Products)))

  • Bahagian pertama formula, SUM (Sales[Amount]), mengira pembilang.

  • Hasil tambah mengambil kira konteks semasa, maksudnya jika anda menambah formula ke dalam lajur yang dikira, konteks baris digunakan dan jika anda tambah formula pada Jadual Pangsi sebagai ukuran, sebarang penapis yang digunakan dalam Jadual Pangsi (konteks penapis) akan digunakan.

  • Bahagian kedua formula mengira penyebut. Fungsi ALL menulis ganti sebarang penapis yang mungkin digunakan pada jadual Products .

Untuk maklumat lanjut, termasuk contoh terperinci, lihat Fungsi ALL.

Mengubah Penapis Tertentu dengan Fungsi ALLEXCEPT

Fungsi ALLEXCEPT juga mengubah penapis tersedia, tetapi anda boleh menentukan bahawa sesetengah penapis tersedia patut dikekalkan. Lajur yang anda namakan sebagai argumen pada fungsi ALLEXCEPT menentukan lajur yang akan terus ditapis. Jika anda ingin mengubah penapis daripada kebanyakan lajur tetapi bukan semua, ALLEXCEPT lebih membantu jika berbanding dengan ALL. Fungsi ALLEXCEPT berguna apabila anda mencipta Jadual Pangsi yang mungkin ditapis pada beberapa lajur berbeza dan anda ingin mengawal nilai yang digunakan dalam formula. Untuk maklumat lanjut, termasuk contoh terperinci tentang cara menggunakan ALLEXCEPT dalam Jadual Pangsi, lihat Fungsi ALLEXCEPT.

Halaman Atas

Nota: Notis Penafian Penterjemahan Mesin: Artikel ini telah diterjemah oleh sistem komputer tanpa campur tangan manusia. Microsoft menawarkan penterjemahan mesin ini untuk membantu pengguna-pengguna yang tidak bertutur dalam Bahasa Inggeris supaya dapat menikmati kandungan mengenai produk, perkhidmatan dan teknologi Microsoft. Artikel ini mungkin mengandungi ralat perbendaharaan kata, sintaks atau tatabahasa kerana ia diterjemahkan oleh mesin.

Kembangkan kemahiran anda
Jelajahi latihan
Dapatkan ciri baru terlebih dahulu
Sertai Office Insiders

Adakah maklumat ini membantu?

Terima kasih atas maklum balas anda!

Terima kasih atas maklum balas anda! Nampaknya ia mungkin akan membantu untuk menyambungkan anda kepada salah seorang daripada ejen sokongan Office kami.

×