Bagikan melalui


olapR (paket R di SQL Server Pembelajaran Mesin Services)

Berlaku untuk: SQL Server 2016 (13.x) dan versi yang lebih baru

olapR adalah paket R dari Microsoft yang digunakan untuk kueri MDX terhadap kubus OLAP SQL Server Analysis Services. Functions tidak mendukung semua operasi MDX, tetapi Anda dapat membuat kueri yang mengiris, dadu, penelusuran, rollup, dan pivot pada dimensi. Paket ini disertakan dalam SQL Server Pembelajaran Mesin Services dan SQL Server 2016 R Services.

Anda dapat menggunakan paket ini pada koneksi ke kubus OLAP Analysis Services pada semua versi SQL Server yang didukung. Koneksi ke model tabular saat ini tidak didukung.

Muat paket

Paket olapR tidak dimuat sebelumnya ke dalam sesi R. Jalankan perintah berikut untuk memuat paket.

library(olapR)

Versi paket

Versi saat ini adalah 1.0.0 di semua produk khusus Windows dan unduhan yang menyediakan paket.

Ketersediaan dan lokasi

Paket ini disediakan dalam produk berikut, serta pada beberapa gambar komputer virtual di Azure. Lokasi paket bervariasi sesuai.

Produk Lokasi
SQL Server Pembelajaran Mesin Services (dengan integrasi R) C:\Program Files\Microsoft SQL Server\MSSQL14. MSSQLSERVER\R_SERVICES\library
Layanan SQL Server 2016 R C:\Program Files\Microsoft SQL Server\MSSQL13. MSSQLSERVER\R_SERVICES\library
Microsoft Pembelajaran Mesin Server (R Server) C:\Program Files\Microsoft\R_SERVER\library
Klien Microsoft R C:\Program Files\Microsoft\R Client\R_SERVER\library
Ilmu Data Virtual Machine (di Azure) C:\Program Files\Microsoft\R Client\R_SERVER\library
SQL Server Virtual Machine (di Azure) 1 C:\Program Files\Microsoft SQL Server\MSSQL14. MSSQLSERVER\R_SERVICES\library

Integrasi 1 R bersifat opsional di SQL Server. Paket olapR akan diinstal saat Anda menambahkan fitur Pembelajaran Mesin atau R selama konfigurasi VM.

Cara menggunakan olapR

Pustaka olapR menyediakan API gaya R sederhana untuk menghasilkan dan memvalidasi kueri MDX terhadap kubus Analysis Services. olapR tidak menyediakan API untuk semua skenario MDX, tetapi mencakup kasus penggunaan terbanyak termasuk ikatan, dadu, penelusuran, rollup, dan skenario pivot dalam dimensi N. Anda juga dapat memasukkan kueri MDX langsung ke Analysis Services untuk kueri yang tidak dapat dibangun menggunakan API olapR.

Alur kerja untuk menggunakan olapR

  1. Muat pustaka.
  2. Buat string koneksi yang menunjuk ke kubus MOLAP di Analysis Services.
  3. Verifikasi bahwa Anda memiliki akses baca pada kubus
  4. Gunakan string koneksi pada koneksi.
  5. Verifikasi koneksi menggunakan fungsi jelajahi.
  6. Siapkan kueri dengan mengirimkan string kueri MDX atau dengan membangun struktur kueri.
  7. Jalankan kueri dan verifikasi hasilnya.

Untuk menjalankan kueri MDX pada Kubus OLAP, Anda harus terlebih dahulu membuat string koneksi (olapCnn) dan memvalidasi menggunakan fungsi OlapConnection(connectionString). string koneksi harus memiliki Sumber Data (seperti localhost) dan Penyedia (MSOLAP).

Setelah koneksi dibuat, Anda dapat meneruskan kueri MDX yang sepenuhnya ditentukan, atau Anda dapat membuat kueri menggunakan Query() objek, mengatur detail kueri menggunakan kubus(), sumbu(), kolom(), pemotong(), dan sebagainya.

Terakhir, teruskan olapCnn kueri dan ke dalam atau execute2D executeMD untuk mendapatkan array multidmensional atau bingkai data kembali.

Penting

olapR memerlukan penyedia Analysis Services OLE DB. Jika Anda tidak memiliki SQL Server Analysis Services yang terinstal di komputer Anda, unduh penyedia dari Microsoft: Penyedia data yang digunakan untuk koneksi Analysis Services

Versi yang tepat yang harus Anda instal untuk SQL Server 2016 ada di sini.

Daftar fungsi

Fungsi Deskripsi
OlapConnection Buat string koneksi untuk mengakses Database Analysis Services.
Query Buat objek Kueri untuk digunakan pada Database Analysis Services. Gunakan kubus, sumbu, kolom, baris, halaman, bab, pemotong untuk menambahkan detail ke kueri.
executeMD Mengambil objek Kueri atau string MDX, dan mengembalikan hasilnya sebagai array multidimensi.
execute2D Mengambil objek Kueri atau string MDX, dan mengembalikan hasilnya sebagai bingkai data 2D.
explore Memungkinkan eksplorasi metadata kubus.

Konsep MDX

MDX adalah bahasa kueri untuk kubus OLAP multidimensi (MOLAP) yang berisi data yang diproses dan diagregasi yang disimpan dalam struktur yang dioptimalkan untuk analisis dan eksplorasi data. Kubus digunakan dalam aplikasi bisnis dan ilmiah untuk menarik wawasan tentang hubungan dalam data historis. Secara internal, kubus terdiri dari sebagian besar data numerik yang dapat diukur, yang diiris di sepanjang dimensi seperti tanggal dan waktu, geografi, atau entitas lainnya. Kueri umum mungkin menggulung penjualan untuk wilayah dan periode waktu tertentu, diiris berdasarkan kategori produk, promosi, saluran penjualan, dan sebagainya.

Data kubus dapat diakses menggunakan berbagai operasi:

  • Irisan - Mengambil subset kubus dengan memilih nilai untuk satu dimensi, menghasilkan kubus yang satu dimensi lebih kecil.

  • Dicing - Membuat subkube dengan menentukan rentang nilai pada beberapa dimensi.

  • Telusuri Paling Detail/Naik - Navigasikan dari rentang data yang lebih umum ke yang lebih rinci, atau sebaliknya.

  • Roll-up - Meringkas data pada dimensi.

  • Pivot - Putar kubus.

Kueri MDX mirip dengan kueri SQL tetapi, karena fleksibilitas database OLAP, dapat berisi hingga 128 sumbu kueri. Empat sumbu pertama dinamai untuk kenyamanan: Kolom, Baris, Halaman, dan Bab. Juga umum untuk hanya menggunakan dua (Baris dan Kolom), seperti yang ditunjukkan dalam contoh berikut:

SELECT {[Measures].[Internet Sales Count], [Measures].[Internet Sales-Sales Amount]} ON COLUMNS, 
{[Product].[Product Line].[Product Line].MEMBERS} ON ROWS
FROM [Analysis Services Tutorial]
WHERE [Sales Territory].[Sales Territory Country].[Australia]

Menggunakan kubus AdventureWorks OLAP dari tutorial kubus multidimensi, kueri MDX ini memilih jumlah penjualan internet dan jumlah penjualan dan menempatkannya di sumbu Kolom. Pada sumbu Baris, ia menempatkan semua nilai yang mungkin dari dimensi "Baris Produk". Kemudian, menggunakan klausa WHERE (yang merupakan sumbu pemotong dalam kueri MDX), ini memfilter kueri sehingga hanya penjualan dari Australia. Tanpa sumbu pemotong, kami akan menggulung dan meringkas penjualan dari semua negara/wilayah.

Contoh olapR

# load the library
library(olapR)

# Connect to a local SSAS default instance and the Analysis Services Tutorial database.
# For named instances, use server-name\\instancename, escaping the instance name delimiter.
# For databases containing multiple cubes, use the cube= parameter to specify which one to use.
cnnstr <- "Data Source=localhost; Provider=MSOLAP; initial catalog=Analysis Services Tutorial"
olapCnn <- OlapConnection(cnnstr)

# Approach 1 - build the mdx query in R
qry <- Query()

cube(qry) <- "[Analysis Services Tutorial]"
columns(qry) <- c("[Measures].[Internet Sales Count]", "[Measures].[Internet Sales-Sales Amount]")
rows(qry) <- c("[Product].[Product Line].[Product Line].MEMBERS") 
slicers(qry) <- c("[Sales Territory].[Sales Territory Country].[Australia]")

result1 <- executeMD(olapCnn, qry)

# Approach 2 - Submit a fully formed MDX query
mdx <- "SELECT {[Measures].[Internet Sales Count], [Measures].[Internet Sales-Sales Amount]} ON AXIS(0), {[Product].[Product Line].[Product Line].MEMBERS} ON AXIS(1) FROM [Analysis Services Tutorial] WHERE [Sales Territory].[Sales Territory Country].[Australia]"

result2 <- execute2D(olapCnn, mdx)

Lihat juga

Cara membuat kueri MDX menggunakan olapR