Bagikan melalui


TopCount (DMX)

Berlaku untuk: SQL Server Analysis Services

Mengembalikan jumlah baris terbanyak yang ditentukan dalam urutan penurunan peringkat seperti yang ditentukan oleh ekspresi.

Sintaks

  
TopCount(<table expression>, <rank expression>, <count>)  

Berlaku Untuk

Ekspresi yang mengembalikan tabel, seperti <referensi> kolom tabel, atau fungsi yang mengembalikan tabel.

Jenis Hasil

<ekspresi tabel>

Keterangan

Nilai yang disediakan oleh <argumen ekspresi> peringkat menentukan penurunan urutan peringkat untuk baris yang disediakan dalam <argumen ekspresi> tabel, dan jumlah baris terbanyak yang ditentukan dalam <argumen hitungan> dikembalikan.

Fungsi TopCount awalnya diperkenalkan untuk mengaktifkan prediksi asosiatif dan secara umum, menghasilkan hasil yang sama dengan pernyataan yang mencakup klausa SELECT TOP dan ORDER BY . Anda akan mendapatkan performa yang lebih baik untuk prediksi asosiatif jika Anda menggunakan fungsi Predict (DMX), yang mendukung spesifikasi sejumlah prediksi yang akan dikembalikan.

Namun, ada situasi di mana Anda mungkin masih perlu menggunakan TopCount. Misalnya, DMX tidak mendukung kualifikasi TOP dalam pernyataan sub-pilih. Fungsi PredictHistogram (DMX) juga tidak mendukung penambahan TOP.

Contoh

Contoh berikut adalah kueri prediksi terhadap model Asosiasi yang Anda buat dengan menggunakan Tutorial Penggalian Data Dasar. Kueri mengembalikan hasil yang sama, tetapi contoh pertama menggunakan TopCount, dan contoh kedua menggunakan fungsi Predict.

Untuk memahami cara kerja TopCount, mungkin berguna untuk terlebih dahulu menjalankan kueri prediksi yang hanya mengembalikan tabel berlapis.

SELECT Predict ([Association].[v Assoc Seq Line Items], INCLUDE_STATISTICS, 10)  
FROM   
     [Association]  
NATURAL PREDICTION JOIN  
SELECT (SELECT 'Women''s Mountain Shorts' as [Model]) AS [v Assoc Seq Line Items]) AS t  

Catatan

Dalam contoh ini, nilai yang disediakan sebagai input berisi tanda kutip tunggal, dan oleh karena itu harus lolos dengan prefacing dengan tanda kutip tunggal lainnya. Jika Anda tidak yakin dengan sintaks untuk menyisipkan karakter escape, Anda bisa menggunakan Penyusun Kueri Prediksi untuk membuat kueri. Saat Anda memilih nilai dari daftar dropdown, karakter escape yang diperlukan disisipkan untuk Anda. Untuk informasi selengkapnya, lihat Membuat Kueri Singleton di Perancang Penggalian Data.

Contoh hasil:

Model $SUPPORT $PROBABILITY $ADJUSTEDPROBABILITY
Olahraga-100 4334 0.291283016 0.252695851
Botol Air 2866 0.192620472 0.175205052
Kit patch 2113 0.142012232 0.132389356
Tabung Ban Gunung 1992 0.133879965 0.125304948
Mountain-200 1755 0.117951475 0.111260823
Tabung Ban Jalan 1588 0.106727603 0.101229538
Tutup Bersepeda 1473 0.098998589 0.094256014
Set Fender - Gunung 1415 0.095100477 0.090718432
Sangkar Botol Sepeda Gunung 1367 0.091874454 0.087780332
Sangkar Botol Sepeda Jalan Raya 1195 0.080314537 0.077173962

Fungsi TopCount mengambil hasil kueri ini dan mengembalikan jumlah baris bernilai terkecil yang ditentukan.

SELECT   
TopCount  
    (  
    Predict ([Association].[v Assoc Seq Line Items],INCLUDE_STATISTICS,10),  
    $SUPPORT,  
    3)  
FROM   
     [Association]  
NATURAL PREDICTION JOIN  
(SELECT (SELECT 'Women''s Mountain Shorts' as [Model]) AS [v Assoc Seq Line Items]) AS t  

Argumen pertama ke fungsi TopCount adalah nama kolom tabel. Dalam contoh ini, tabel berlapis dikembalikan dengan memanggil fungsi Predict dan menggunakan argumen INCLUDE_STATISTICS.

Argumen kedua ke fungsi TopCount adalah kolom dalam tabel berlapis yang Anda gunakan untuk mengurutkan hasilnya. Dalam contoh ini, opsi INCLUDE_STATISTICS mengembalikan kolom $SUPPORT, $PROBABILTY, dan proBABILITAS $ADJUSTED. Contoh ini menggunakan $SUPPORT untuk memberi peringkat hasil.

Argumen ketiga ke fungsi TopCount menentukan jumlah baris yang akan dikembalikan, sebagai bilangan bulat. Untuk mendapatkan tiga produk teratas, seperti yang dipesan oleh $SUPPORT, Anda ketik 3.

Contoh hasil:

Model $SUPPORT $PROBABILITY $ADJUSTEDPROBABILITY
Olahraga-100 4334 0.29... 0.25...
Botol Air 2866 0.19... 0.17...
Kit patch 2113 0.14... 0.13...

Namun, jenis kueri ini mungkin memengaruhi performa dalam pengaturan produksi. Ini karena kueri mengembalikan sekumpulan semua prediksi dari algoritma, mengurutkan prediksi ini, dan mengembalikan 3 teratas.

Contoh berikut memberikan pernyataan alternatif yang mengembalikan hasil yang sama tetapi dijalankan secara signifikan lebih cepat. Contoh ini mengganti TopCount dengan fungsi Predict, yang menerima sejumlah prediksi sebagai argumen. Contoh ini juga menggunakan kata kunci $SUPPORT untuk langsung mengambil kolom tabel berlapis.

SELECT Predict ([Association].[v Assoc Seq Line Items], INCLUDE_STATISTICS, 3, $SUPPORT)  

Hasilnya berisi 3 prediksi teratas yang diurutkan menurut nilai dukungan. Anda dapat mengganti $SUPPORT dengan $PROBABILITY atau $ADJUSTED_PROBABILITY untuk mengembalikan prediksi yang diberi peringkat probabilitas atau probabilitas yang disesuaikan. Untuk informasi selengkapnya, lihat Memprediksi (DMX).

Lihat Juga

Functions (DMX)
Fungsi Prediksi Umum (DMX)
BottomCount (DMX)
TopPercent (DMX)
TopSum (DMX)