Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Pelajari Cara Melakukan Analisis Produk dengan Pencarian Teks Lengkap SQL Server. Bagian 2

Artikel ini didedikasikan untuk analisis produk yang sedikit lebih kompleks dengan Penelusuran Teks Lengkap, bukan bagian pertama yang membahas cara melakukan analisis produk dasar.

Di sini, pembaca akan menerapkan beberapa contoh komprehensif analisis produk dari sudut pandang penjualan dengan bantuan kueri Teks Lengkap.

Artikel ini mengungkap kekuatan kueri Teks Lengkap saat digunakan dengan fungsi analitik dalam melakukan analisis produk.

Prasyarat

Saya sarankan Anda membaca prasyarat artikel ini sebelum mulai menerapkan contoh analisis produk.

Bagian 1. Hal-hal Penting

Kami berasumsi bahwa Anda telah melalui Belajar Melakukan Analisis Produk menggunakan Pencarian Teks Lengkap SQL Server. Bagian 1 dan memiliki kemampuan untuk melakukan analisis produk dasar dengan bantuan contoh yang disebutkan di bagian pertama.

Pemahaman T-SQL dan Pencarian Teks Lengkap

Agar merasa nyaman saat membaca artikel ini, kami menyarankan pembaca untuk memiliki pemahaman yang baik tentang skrip T-SQL dan Pencarian Teks Lengkap.

Lihat Menerapkan Pencarian Teks Lengkap di SQL Server 2016 untuk Pengguna Tingkat Lanjut untuk mendapatkan pemahaman tingkat lanjut tentang Pencarian Teks Lengkap asalkan Anda sudah terbiasa dengan dasar-dasarnya. Namun, kami menyarankan untuk membaca artikel Menerapkan Pencarian Teks Lengkap di SQL Server 2016 untuk pemula jika Anda perlu mengembangkan pemahaman dasar sebelum melanjutkan dengan penggunaan Pencarian Teks Lengkap tingkat lanjut.

Penelusuran Teks Lengkap terpasang

Agar berhasil melanjutkan artikel, pastikan Anda telah menginstal Pencarian Teks Lengkap pada instance SQL Anda.

Ikuti langkah-langkah ini untuk menginstal Pencarian Teks Lengkap di server SQL:

  1. Jalankan Pemasang SQL.
  2. Jalankan File Pengaturan.
  3. Tambahkan sebagai Fitur.
  4. Pilih Server Anda Saat Ini.
  5. Pilih Fitur Instance yang akan ditambahkan.

Anda juga dapat merujuk ke artikel Menerapkan Pencarian Teks Lengkap di SQL Server 2016 untuk pemula untuk mendapatkan informasi rinci tentang langkah-langkah yang disebutkan di atas.

Contoh database (CarPlus)

Anda harus mengikuti petunjuk di bagian pertama jika Anda belum menyiapkan database sampel. Perhatikan bahwa Anda harus menyiapkan CarPlus contoh database untuk menerapkan contoh dalam artikel ini.

Katalog Teks Lengkap dan indeks Teks Lengkap

Kami juga mengharapkan Anda untuk menentukan katalog Full-Text dan indeks Full-Text di kolom FeaturesLiked.

Silakan merujuk ke Belajar Melakukan Analisis Produk menggunakan Pencarian Teks Lengkap SQL Server. Bagian 1 untuk melakukan langkah-langkah di atas kecuali Anda telah menyelesaikannya.

Analisis 1:Penelusuran Teks Lengkap untuk sensor

Katakanlah kami memiliki beberapa sensor bawaan yang disertakan dengan mobil, dan sekarang, manajemen puncak ingin mengetahui hal-hal berikut:

  1. Apakah pelanggan yang membeli mobil menyukai sensor bawaan?
  2. Sensor seperti apa yang mereka sukai?
  3. Berapa banyak sensor jenis tertentu yang mereka sukai?
  4. Dapatkah kami membandingkan semua sensor berbeda yang disukai pelanggan?

Anda dapat menemukan jawaban atas semua pertanyaan ini dengan bantuan Pencarian Teks Lengkap.

Sensor penelusuran yang disukai pelanggan

Untuk mengetahui apakah pelanggan menyukai salah satu sensor mobil saat mereka memesan, kami harus menjalankan kueri teks lengkap sebagai berikut:

--View Orders where customers liked Sensors
SELECT
CarOrderId
,FeaturesLiked
FROM dbo.CarOrder
WHERE CONTAINS(FeaturesLiked, 'Sensor')

Anda kemudian akan melihat hasil berikut:

Satu hal yang pasti:pelanggan menyukai sensor yang tidak biasa ketika mereka membeli mobil mereka. Itu karena Pencarian Teks Lengkap untuk sensor mengembalikan sejumlah hasil.

Penelusuran menginformasikan bahwa kami memiliki setidaknya dua jenis sensor yang disukai pelanggan:

  1. Sensor Sentuh
  2. Sensor Parkir Terbalik

Dapat dikatakan bahwa pelanggan menyukai setidaknya jenis sensor yang disebutkan di atas.

Menelusuri semua sensor parkir yang disukai pelanggan

Sekarang, kita perlu menggunakan Pencarian Teks Lengkap untuk menemukan semua jenis Sensor Parkir yang disukai pelanggan kami.

Kita dapat mengetahuinya dengan menggunakan DEKAT dengan istilah pencarian berikut (sebagai berikut):

--View Orders where customers liked parking sensors
SELECT
FeaturesLiked
FROM dbo.CarOrder
WHERE CONTAINS(FeaturesLiked, 'Sensor NEAR Parking')

Outputnya adalah sebagai berikut:

Akibatnya, tampaknya ada tujuh kasus di mana pelanggan menyukai Sensor Parkir . Namun, kita perlu masuk lebih dalam untuk mendapatkan informasi lebih lanjut.

Mencari sensor selain sensor parkir yang disukai pelanggan

Sekarang, kami ingin mengetahui sisi lain dari cerita tersebut, yaitu untuk mengetahui pelanggan mana yang menyukai sensor selain Sensor Parkir .

Gunakan kueri teks lengkap berikut untuk menelusuri sensor yang disukai pelanggan selain Sensor Parkir :

--View Orders where customers liked other than parking sensors
SELECT 
CarOrderId
,FeaturesLiked 
FROM dbo.CarOrder 
WHERE CONTAINS(FeaturesLiked,'Sensor AND NOT Parking')

Hasil dari kueri teks lengkap di atas adalah sebagai berikut:

Selain Sensor Parkir, pelanggan menyukai Sensor Sentuh .

Membandingkan sensor parkir dengan sensor sentuh, dan dengan sensor lainnya

Hal besar berikutnya adalah melihat apakah kita dapat membandingkan Sensor Parkir dengan Sensor Sentuh dengan jenis sensor lain yang disukai pelanggan saat mereka memesan mobil.

Kami juga perlu mengetahui jumlah total pesanan yang dilakukan musim ini agar perbandingannya lebih menarik.

Namun, ini tidak cukup. Kita juga perlu memahami persentase kesamaan antar sensor.

Anda dapat mengetahuinya, menggunakan kueri teks lengkap dengan bantuan variabel dan agregasi T-SQL sebagai berikut:

DECLARE @TotalParkingSensorLikes INT
DECLARE @TotalTouchSensorLikes INT
DECLARE @TotalOtherSensorLikes INT
 
 
DECLARE @TotalOrders INT
 
 
SET @TotalOrders=(SELECT COUNT(*) FROM dbo.CarOrder)
SET @TotalParkingSensorLikes=(SELECT COUNT(*) FROM dbo.CarOrder WHERE CONTAINS(FeaturesLiked,'Sensor NEAR Parking'))
SET @TotalTouchSensorLikes=(SELECT COUNT(*) FROM dbo.CarOrder WHERE CONTAINS(FeaturesLiked,'Sensor NEAR Touch'))
SET @TotalOtherSensorLikes=(SELECT COUNT(*) FROM dbo.CarOrder WHERE CONTAINS(FeaturesLiked,'Sensor AND NOT Touch AND NOT Parking'))
 
  
-- Total parking sensors likes vs touch sensors
SELECT @TotalOrders AS TotalOrders,@TotalTouchSensorLikes AS Total_Parking_Sensor_Likes,
(@TotalTouchSensorLikes*100/@TotalOrders) AS PercentLikes,
@TotalParkingSensorLikes AS Total_Touch_Sensor_Likes,
(@TotalParkingSensorLikes*100/@TotalOrders) AS PercentLikes,
@TotalOtherSensorLikes AS Total_Other_Sensor_Likes,
(@TotalOtherSensorLikes*100/@TotalOrders) AS PercentLikes

Outputnya dapat dilihat sebagai berikut:

Ringkasan hasil analisis

Kami dapat menyimpulkan bahwa pelanggan lebih menyukai mobil Sensor Sentuh fitur di atas Sensor Parkir Mundur fitur. Namun, mereka adalah satu-satunya sensor yang disukai pelanggan. Dan fitur yang paling mereka sukai, yaitu Touch Sensor, hanya membutuhkan 23 persen dari semua fitur yang mereka sukai.

Analisis 2:Penelusuran Teks Lengkap untuk Bantuan dan Peringatan Mengemudi

Jika sekarang kita berasumsi bahwa selama musim inilah perusahaan manufaktur mobil memperkenalkan beberapa fitur bantuan mengemudi termasuk beberapa peringatan.

Bisnis ingin mengetahui hal-hal berikut:

  1. Jenis peringatan mengemudi dan fitur bantuan apa yang disukai pelanggan?
  2. Berapa banyak pelanggan yang menyukai kombinasi fitur peringatan dan bantuan?
  3. Dapatkah kami melakukan analisis berdasarkan usia terhadap pelanggan yang menyukai fitur peringatan dan bantuan?

Mencari peringatan mengemudi dan fitur bantuan yang disukai pelanggan

Kami dapat menelusuri lansiran mengemudi dan fitur bantuan yang disukai pelanggan menggunakan kueri teks lengkap, tetapi kami harus ingat bahwa kata “Deteksi” juga dapat digunakan sebagai alternatif untuk “Peringatan” sebagai berikut:

--Searching driving alerts and assistance features liked by customers
SELECT
CarOrderId
,FeaturesLiked
FROM dbo.CarOrder
WHERE CONTAINS(FeaturesLiked,'FORMSOF(INFLECTIONAL,Assisting) OR FORMSOF(INFLECTIONAL,Alerts)
OR FORMSOF(INFLECTIONAL,Detect)
')

Hasil dari kueri teks lengkap di atas adalah sebagai berikut:

Jadi, dengan menggunakan kueri teks lengkap, kami telah menemukan jawaban atas pertanyaan bisnis pertama tentang jenis fitur dan peringatan yang disukai pelanggan.

Oleh karena itu dapat disimpulkan bahwa pelanggan menyukai jenis peringatan mengemudi dan fitur bantuan berikut:

  1. Peringatan Perubahan Jalur
  2. Bantuan Bukit
  3. Deteksi Tabrakan
  4. Peringatan Tekanan Ban

Menelusuri pelanggan yang menyukai semua peringatan mengemudi dan fitur bantuan

Pertanyaan yang sedikit lebih rumit adalah menemukan berapa banyak pelanggan yang menyukai semua fitur dan peringatan bantuan mengemudi, dan ini dapat dijawab dengan kueri teks lengkap sebagai berikut:

--Searching order where both alerts and driving assistance features are liked by customers
SELECT
CarOrderId
,FeaturesLiked
FROM dbo.CarOrder
WHERE CONTAINS(FeaturesLiked,'FORMSOF(INFLECTIONAL,Assisting) AND (FORMSOF(INFLECTIONAL,Alerts) OR FORMSOF(INFLECTIONAL,DETECT)
)')

Outputnya adalah sebagai berikut:

Jadi, ada empat pesanan yang disukai pelanggan, baik fitur bantuan mengemudi maupun peringatan.

Analisis pelanggan berdasarkan usia yang menyukai fitur bantuan dan peringatan mengemudi

Untuk mendapatkan informasi lebih lanjut, kami akan mencoba memahami fitur dan peringatan bantuan mengemudi yang disukai pelanggan berdasarkan usia mereka.

Anda juga dapat melakukan ini dengan menggunakan kombinasi kueri teks lengkap dan fungsi Analitik yang disediakan di T-SQL sebagai berikut:

-- Age based analysis of customers liking all driving alerts and assistance features
SELECT DISTINCT(CustomerAge),TotalOrders=COUNT(*) OVER (Partition BY CustomerAge),
FIRST_VALUE(CustomerAge) OVER (Order by CustomerAge) as YoungestCustomer,
LAG(CustomerAge,1,0) OVER (ORDER BY CustomerAge) as YoungerCustomerOrSameAge,
LEAD(CustomerAge,1,0) OVER (ORDER BY CustomerAge) as OlderCustomerOrSameAge,
FeaturesLiked as Driving_Assistance_or_Alerts_Features
FROM dbo.CarOrder
WHERE CONTAINS(FeaturesLiked,'FORMSOF(INFLECTIONAL,Assisting) OR FORMSOF(INFLECTIONAL,Alerts)
OR FORMSOF(INFLECTIONAL,Detect)')
ORDER BY TotalOrders DESC

Outputnya adalah sebagai berikut:

Silakan merujuk ke artikel Seni Menggabungkan Data dalam SQL dari Agregasi Sederhana hingga Menggeser untuk mempelajari lebih lanjut tentang cara menggunakan fungsi analitik di T-SQL.

Ringkasan hasil analisis

Berdasarkan analisis di atas menggunakan Pencarian Teks Lengkap, jelas bahwa fitur bantuan mengemudi dan peringatan mengemudi yang disukai pelanggan sebagian besar adalah kelompok usia 35 tahun.

Jadi, pelanggan berusia 35 tahun paling menyukai fitur ini, sedangkan pelanggan termuda yang menyukai fitur ini berusia 18 tahun.

Pelanggan tertua yang menyukai fitur ini berusia 52 tahun.

Dapat disimpulkan dari analisis di atas bahwa sebagian besar pelanggan berusia antara 18 dan 52 tahun menikmati fitur bantuan mengemudi dan peringatan mengemudi, di mana pelanggan yang lebih menyukai fitur ini daripada yang lain berusia 35 tahun.

Selamat, Anda telah berhasil mempelajari cara melakukan analisis produk yang sedikit rumit menggunakan Pencarian Teks Lengkap.

Hal yang harus dilakukan

Sekarang Anda dapat melakukan analisis produk dengan Pencarian Teks Lengkap, saya mendorong Anda untuk mencoba yang berikut ini:

  1. Cobalah untuk mendapatkan informasi yang berkorelasi dengan menemukan pelanggan yang menyukai sensor dan fitur bantuan mengemudi tetapi tidak menyukai peringatan saat mereka membeli mobil.
  2. Dengan mengingat artikel ini, telusuri pelanggan yang menyukai lansiran tetapi tidak menyukai fitur bantuan mengemudi.
  3. Coba lakukan analisis berbasis usia pelanggan untuk sensor yang serupa dengan yang kami lakukan untuk fitur bantuan dan peringatan mengemudi.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mengeluarkan DateTime yang dapat dibatalkan dari database

  2. Mendapatkan hasil SQL dinamis menjadi variabel untuk sql-server

  3. Bagaimana saya bisa masuk ke proc yang disimpan SQL Server dari kode C # saya?

  4. T-SQL mendapatkan jumlah hari kerja antara 2 tanggal

  5. Trik Cepat dan Terbaik Untuk Pemulihan File MDF SQL Server