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)