Bagikan melalui


Filter untuk Model Penambangan (Analysis Services - Penggalian Data)

Berlaku untuk: SQL Server 2019 dan Analysis Services Azure Analysis Services Fabric/Power BI Premium sebelumnya

Penting

Penambangan data tidak digunakan lagi pada SQL Server 2017 Analysis Services dan sekarang dihentikan di SQL Server 2022 Analysis Services. Dokumentasi tidak diperbarui untuk fitur yang tidak digunakan lagi dan dihentikan. Untuk mempelajari selengkapnya, lihat Kompatibilitas mundur Analysis Services.

Pemfilteran model berbasis data membantu Anda membuat model penambangan yang menggunakan subset data dalam struktur penambangan. Pemfilteran memberi Anda fleksibilitas saat merancang struktur penambangan dan sumber data, karena Anda dapat membuat struktur penambangan tunggal, berdasarkan tampilan sumber data yang komprehensif. Anda kemudian dapat membuat filter untuk hanya menggunakan bagian dari data tersebut untuk melatih dan menguji berbagai model, alih-alih membangun struktur dan model terkait yang berbeda untuk setiap subset data.

Misalnya, Anda menentukan tampilan sumber data pada tabel Pelanggan dan tabel terkait. Selanjutnya, Anda menentukan struktur penambangan tunggal yang mencakup semua bidang yang Anda butuhkan. Terakhir, Anda membuat model yang difilter pada atribut pelanggan tertentu, seperti Wilayah. Anda kemudian dapat dengan mudah membuat salinan model tersebut, dan hanya mengubah kondisi filter untuk menghasilkan model baru berdasarkan wilayah yang berbeda.

Beberapa skenario kehidupan nyata di mana Anda mungkin mendapat manfaat dari fitur ini meliputi hal-hal berikut:

  • Membuat model terpisah untuk nilai diskrit seperti jenis kelamin, wilayah, dan sebagainya. Misalnya, penyimpanan pakaian mungkin menggunakan demografi pelanggan untuk membangun model terpisah berdasarkan jenis kelamin, meskipun data penjualan berasal dari satu sumber data untuk semua pelanggan.

  • Bereksperimen dengan model dengan membuat dan kemudian menguji beberapa pengelompokan data yang sama, seperti usia 20-30 vs. usia 20-40 vs. usia 20-25.

  • Menentukan filter kompleks pada konten tabel berlapis, seperti mengharuskan kasus disertakan dalam model hanya jika pelanggan telah membeli setidaknya dua item tertentu.

Bagian ini menjelaskan cara membangun, menggunakan, dan mengelola filter pada model penambangan.

Membuat Filter Model

Anda bisa membuat dan menerapkan filter dengan cara berikut:

  • Menggunakan tab Model Penambangan di Designer Penggalian Data untuk membangun kondisi dengan bantuan kotak dialog editor filter.

  • Mengetik ekspresi filter langsung ke properti Filter dari model penambangan.

  • Mengatur kondisi filter pada model secara terprogram, dengan menggunakan AMO.

Membuat Filter Model menggunakan Designer Penggalian Data

Anda memfilter model di Data Mining Designer dengan mengubah properti Filter model penambangan. Anda bisa mengetik ekspresi filter langsung ke panel Properti , atau Anda bisa membuka kotak dialog filter untuk menyusun kondisi.

Ada dua kotak dialog filter. Yang pertama memungkinkan Anda membuat kondisi yang diterapkan ke tabel kasus. Jika sumber data berisi beberapa tabel, pertama-tama Anda memilih tabel, lalu Anda memilih kolom dan menentukan operator dan kondisi yang berlaku untuk kolom tersebut. Anda dapat menautkan beberapa kondisi dengan menggunakan operator AND/OR . Operator yang tersedia untuk menentukan nilai bergantung pada apakah kolom berisi nilai diskrit atau berkelanjutan. Misalnya, dengan nilai berkelanjutan, Anda dapat menggunakan lebih besar dari dan kurang dari operator. Namun, untuk nilai diskrit, Anda hanya dapat menggunakan = (sama dengan), != (tidak sama dengan), dan merupakan operator null .

Catatan

Kata kunci LIKE tidak didukung. Jika Anda ingin menyertakan beberapa atribut diskrit, Anda harus membuat kondisi terpisah dan menautkannya dengan menggunakan operator OR .

Jika kondisinya rumit, Anda bisa menggunakan kotak dialog filter kedua untuk bekerja dengan satu tabel pada satu waktu. Saat Anda menutup kotak dialog filter kedua, ekspresi dievaluasi lalu dikombinasikan dengan kondisi filter yang telah diatur pada kolom lain dalam tabel kasus.

Membuat Filter pada Tabel Berlapis

Jika tampilan sumber data berisi tabel berlapis, Anda bisa menggunakan kotak dialog filter kedua untuk menyusun kondisi pada baris dalam tabel berlapis.

Misalnya, jika tabel kasus Anda terkait dengan pelanggan, dan tabel berlapis memperlihatkan produk yang telah dibeli pelanggan, Anda dapat membuat filter untuk pelanggan yang telah membeli item tertentu dengan menggunakan sintaks berikut dalam filter tabel berlapis: [ProductName]='Water Bottle' OR ProductName='Water Bottle Cage'.

Anda juga dapat memfilter keberadaan nilai tertentu dalam tabel berlapis dengan menggunakan kata kunci EXISTS atau NOT EXISTS dan subkueri. Ini memungkinkan Anda membuat kondisi seperti EXISTS (SELECT * FROM Products WHERE ProductName='Water Bottle'). Mengembalikan EXISTS SELECT(<subquery>)true jika tabel berlapis berisi setidaknya satu baris yang menyertakan nilai , Water Bottle.

Anda dapat menggabungkan kondisi pada tabel kasus dengan kondisi pada tabel berlapis. Misalnya, sintaks berikut menyertakan kondisi pada tabel kasus (Age > 30 ), subkueri pada tabel berlapis (EXISTS (SELECT * FROM Products)), dan beberapa kondisi pada tabel berlapis (WHERE ProductName='Milk' AND Quantity>2) ).

(Age > 30 AND EXISTS (SELECT * FROM Products WHERE ProductName='Milk'  AND Quantity>2) )  

Setelah Anda selesai membuat filter, teks filter dievaluasi oleh SQL Server Analysis Services, diterjemahkan ke ekspresi DMX, lalu disimpan dengan model.

Untuk petunjuk tentang cara menggunakan kotak dialog filter di SQL Server Data Tools, lihat Menerapkan Filter ke Model Penambangan.

Mengelola Filter Model Penambangan

Pemfilteran model berbasis data sangat menyederhanakan tugas mengelola struktur penambangan dan model penambangan, karena Anda dapat dengan mudah membuat beberapa model yang didasarkan pada struktur yang sama. Anda juga dapat dengan cepat membuat salinan model penambangan yang ada lalu hanya mengubah kondisi filter. Namun, filter dapat menyebabkan beberapa kebingungan.

Berikut adalah beberapa pertanyaan yang sering diajukan tentang cara mengelola dan menginterpretasikan filter pada model penambangan:

Bagaimana cara mengetahui apakah filter sedang digunakan?

Ada beberapa cara untuk menentukan apakah filter diterapkan ke model:

  • Di perancang, klik tab Model Penambangan , buka Properti, dan lihat properti Filter model penambangan.

  • DMV, DMSCHEMA_MINING_MODELS, menghasilkan kolom yang berisi teks filter. Anda bisa menggunakan kueri berikut pada DMV untuk mengembalikan nama model dan filternya:

    SELECT MODEL_NAME, [FILTER]   
    FROM $SYSTEM.DMSCHEMA_MINING_MODELS  
    
    
  • Anda bisa mendapatkan nilai properti Filter objek MiningModel di AMO, atau memeriksa elemen Filter di XMLA.

Anda juga dapat membuat konvensi penamaan untuk model untuk mencerminkan konten filter. Ini dapat mempermudah untuk membedakan model terkait.

Bagaimana cara menyimpan filter?

Ekspresi filter disimpan sebagai skrip yang disimpan dengan model penambangan terkait atau tabel berlapis. Jika Anda menghapus teks filter, teks tersebut hanya dapat dipulihkan dengan membuat ulang ekspresi filter secara manual. Oleh karena itu, jika Anda membuat ekspresi filter yang kompleks, Anda harus membuat salinan cadangan teks filter.

Mengapa saya tidak dapat melihat efek apa pun dari filter?

Setiap kali Anda mengubah atau menambahkan ekspresi filter, Anda harus memproses ulang struktur dan model sebelum Anda dapat melihat efek filter.

Mengapa saya melihat atribut yang difilter dalam hasil kueri prediksi?

Saat Anda menerapkan filter ke model, filter hanya memengaruhi pemilihan kasus yang digunakan untuk melatih model. Filter tidak memengaruhi atribut yang diketahui oleh model, atau mengubah atau menekan data yang ada di sumber data. Akibatnya, kueri terhadap model dapat mengembalikan prediksi untuk jenis kasus lain, dan daftar dropdown nilai yang digunakan oleh model mungkin menunjukkan nilai atribut yang dikecualikan oleh filter.

Misalnya, Anda melatih model [Pembeli Sepeda] hanya menggunakan kasus yang melibatkan wanita berusia 20-30 tahun. Anda masih dapat menjalankan kueri prediksi yang memprediksi probabilitas pria yang membeli sepeda, atau memprediksi hasilnya untuk seorang wanita berusia 30-40 tahun. Itu karena atribut dan nilai yang ada dalam sumber data menentukan apa yang secara teoritis mungkin, sementara kasus menentukan kemunculan yang digunakan untuk pelatihan. Namun, kueri ini akan mengembalikan probabilitas yang sangat kecil, karena data pelatihan tidak berisi kasus apa pun dengan nilai target.

Jika Anda perlu menyembunyikan atau menganonimkan nilai atribut sepenuhnya dalam model, ada berbagai opsi:

  • Filter data masuk sebagai bagian dari definisi tampilan sumber data, atau di sumber data relasional.

  • Menutupi atau mengodekan nilai atribut.

  • Ciutkan nilai yang dikecualikan ke dalam kategori sebagai bagian dari definisi struktur penambangan.

Untuk informasi selengkapnya tentang sintaks filter, dan contoh ekspresi filter, lihat Sintaks Filter Model dan Contoh (Analysis Services - Data Mining).

Untuk informasi tentang cara menggunakan filter model saat Anda menguji model penambangan, lihat Memilih Tipe Bagan Akurasi dan Mengatur Opsi Bagan.

Lihat juga

Sintaks dan Contoh Filter Model (Analysis Services - Penggalian Data)
Pengujian dan Validasi (Penggalian Data)